<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.opencae.or.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mmer547</id>
	<title>オープンCAEWiki  OpenCAE Wiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.opencae.or.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mmer547"/>
	<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Mmer547"/>
	<updated>2026-06-10T09:00:04Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.37.6</generator>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenLB&amp;diff=877</id>
		<title>OpenLB</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenLB&amp;diff=877"/>
		<updated>2026-03-19T23:14:19Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: /* GPUのみで計算実行 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''OpenLBプロジェクトは、格子ボルツマン法を実装するためのC++パッケージを提供しています。このパッケージは、数値流体力学など、幅広いマルチフィジックス輸送問題に対応します。ソースコードは公開されており、読みやすく、モジュール化され、プラットフォームに依存しない方法で構築されています。これにより、学術アプリケーションと高度なエンジニアリングアプリケーションの両方で、迅速な実装が可能になります。また、新しい物理モデルを追加するための拡張も容易です。''&lt;br /&gt;
&lt;br /&gt;
[https://www.openlb.net/ 公式ホームページ]&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
=== Windows＋WSL ===&lt;br /&gt;
まずWSLをインストールする。&amp;lt;ref&amp;gt;https://learn.microsoft.com/ja-jp/windows/wsl/install&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OpenLBをダウンロードする。&amp;lt;ref&amp;gt;https://www.openlb.net/download/&amp;lt;/ref&amp;gt;ダウンロードしたら圧縮ファイルを解凍する。&lt;br /&gt;
&lt;br /&gt;
WSLを起動する。&lt;br /&gt;
&lt;br /&gt;
WSL内にmakeをインストールする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install make gcc g++ openmpi-bin libopenmpi-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;WSL内で解答した圧縮ファイルのフォルダに移動する。&lt;br /&gt;
&lt;br /&gt;
makeを実行します。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これでOpenLBのコンパイルは完了です。&lt;br /&gt;
&lt;br /&gt;
=== インストールの確認 ===&lt;br /&gt;
試しに簡単なソルバをコンパイルして計算してみます。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd examples/laminar/cavity2d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;makeします。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;計算を実行してみます。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cavity2d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;cavity2dフォルダ内にtmpフォルダが作成され、その中に計算結果が保存されています。&lt;br /&gt;
&lt;br /&gt;
vtkDataフォルダの中にあるcavity2dvtk.pvdをParaViewで読み込み、計算が実行されていることを確認してください。&lt;br /&gt;
&lt;br /&gt;
== GPUのみで計算実行 ==&lt;br /&gt;
&lt;br /&gt;
=== WSL ===&lt;br /&gt;
&lt;br /&gt;
==== CUDAのインストール ====&lt;br /&gt;
Windows側でNVIDIAのドライバーを入れておき、nvidia-smiコマンドが実行できることを確認する。&lt;br /&gt;
&lt;br /&gt;
cudaをインストールする。&amp;lt;ref&amp;gt;https://developer.nvidia.com/cuda-downloads?target_os=Linux&amp;amp;target_arch=x86_64&amp;amp;Distribution=WSL-Ubuntu&amp;amp;target_version=2.0&amp;amp;target_type=deb_local&amp;lt;/ref&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin&lt;br /&gt;
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600&lt;br /&gt;
wget https://developer.download.nvidia.com/compute/cuda/13.2.0/local_installers/cuda-repo-wsl-ubuntu-13-2-local_13.2.0-1_amd64.deb&lt;br /&gt;
sudo dpkg -i cuda-repo-wsl-ubuntu-13-2-local_13.2.0-1_amd64.deb&lt;br /&gt;
sudo cp /var/cuda-repo-wsl-ubuntu-13-2-local/cuda-*-keyring.gpg /usr/share/keyrings/&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get -y install cuda-toolkit-13-2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;インストール出来たら環境変数を追加する。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo 'export PATH=&amp;quot;${PATH}:/usr/local/cuda-13.2/bin&amp;quot;' &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo 'export LD_LIBRARY_PATH=&amp;quot;${LD_LIBRARY_PATH}:/usr/local/cuda-13.2/lib64&amp;quot;' &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== OpenLBの再コンパイル ====&lt;br /&gt;
config.mkをconfig/gpu_only.mkを参考に書き換える。&lt;br /&gt;
&lt;br /&gt;
GPUによってパラメータの変更は必要。&lt;br /&gt;
&lt;br /&gt;
（RTX2060の場合）&amp;lt;syntaxhighlight lang=&amp;quot;makefile&amp;quot;&amp;gt;&lt;br /&gt;
# Example build config for OpenLB using CUDA on single GPU systems&lt;br /&gt;
#&lt;br /&gt;
# Tested using CUDA 11.4&lt;br /&gt;
#&lt;br /&gt;
# Usage:&lt;br /&gt;
#  - Copy this file to OpenLB root as `config.mk`&lt;br /&gt;
#  - Adjust CUDA_ARCH to match your specifc GPU&lt;br /&gt;
#  - Run `make clean; make`&lt;br /&gt;
#  - Switch to example directory, e.g. `examples/laminar/cavity3dBenchmark`&lt;br /&gt;
#  - Run `make`&lt;br /&gt;
#  - Start the simulation using `./cavity3d`&lt;br /&gt;
&lt;br /&gt;
CXX             := nvcc&lt;br /&gt;
CC              := nvcc&lt;br /&gt;
&lt;br /&gt;
CXXFLAGS        := -O3&lt;br /&gt;
CXXFLAGS        += -std=c++20 --forward-unknown-to-host-compiler&lt;br /&gt;
&lt;br /&gt;
PARALLEL_MODE   := NONE&lt;br /&gt;
&lt;br /&gt;
PLATFORMS       := CPU_SISD GPU_CUDA&lt;br /&gt;
&lt;br /&gt;
# for e.g. RTX 30* (Ampere), see table in `rules.mk` for other options&lt;br /&gt;
CUDA_ARCH       := 75&lt;br /&gt;
&lt;br /&gt;
FLOATING_POINT_TYPE := float&lt;br /&gt;
&lt;br /&gt;
USE_EMBEDDED_DEPENDENCIES := ON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;再コンパイルする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make clean&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ソルバのコンパイル ====&lt;br /&gt;
ソルバも再コンパイルする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make clean&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 実行 ====&lt;br /&gt;
実行はCPU版と同じ。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./&amp;lt;solver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
----&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenLB&amp;diff=876</id>
		<title>OpenLB</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenLB&amp;diff=876"/>
		<updated>2026-03-19T23:03:16Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''OpenLBプロジェクトは、格子ボルツマン法を実装するためのC++パッケージを提供しています。このパッケージは、数値流体力学など、幅広いマルチフィジックス輸送問題に対応します。ソースコードは公開されており、読みやすく、モジュール化され、プラットフォームに依存しない方法で構築されています。これにより、学術アプリケーションと高度なエンジニアリングアプリケーションの両方で、迅速な実装が可能になります。また、新しい物理モデルを追加するための拡張も容易です。''&lt;br /&gt;
&lt;br /&gt;
[https://www.openlb.net/ 公式ホームページ]&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
=== Windows＋WSL ===&lt;br /&gt;
まずWSLをインストールする。&amp;lt;ref&amp;gt;https://learn.microsoft.com/ja-jp/windows/wsl/install&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OpenLBをダウンロードする。&amp;lt;ref&amp;gt;https://www.openlb.net/download/&amp;lt;/ref&amp;gt;ダウンロードしたら圧縮ファイルを解凍する。&lt;br /&gt;
&lt;br /&gt;
WSLを起動する。&lt;br /&gt;
&lt;br /&gt;
WSL内にmakeをインストールする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install make gcc g++ openmpi-bin libopenmpi-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;WSL内で解答した圧縮ファイルのフォルダに移動する。&lt;br /&gt;
&lt;br /&gt;
makeを実行します。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これでOpenLBのコンパイルは完了です。&lt;br /&gt;
&lt;br /&gt;
=== インストールの確認 ===&lt;br /&gt;
試しに簡単なソルバをコンパイルして計算してみます。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd examples/laminar/cavity2d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;makeします。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;計算を実行してみます。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cavity2d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;cavity2dフォルダ内にtmpフォルダが作成され、その中に計算結果が保存されています。&lt;br /&gt;
&lt;br /&gt;
vtkDataフォルダの中にあるcavity2dvtk.pvdをParaViewで読み込み、計算が実行されていることを確認してください。&lt;br /&gt;
&lt;br /&gt;
== GPUのみで計算実行 ==&lt;br /&gt;
&lt;br /&gt;
=== WSL ===&lt;br /&gt;
&lt;br /&gt;
==== CUDAのインストール ====&lt;br /&gt;
Windows側でNVIDIAのドライバーを入れておき、nvidia-smiコマンドが実行できることを確認する。&lt;br /&gt;
&lt;br /&gt;
cudaをインストールする。&amp;lt;ref&amp;gt;https://developer.nvidia.com/cuda-downloads?target_os=Linux&amp;amp;target_arch=x86_64&amp;amp;Distribution=WSL-Ubuntu&amp;amp;target_version=2.0&amp;amp;target_type=deb_local&amp;lt;/ref&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin&lt;br /&gt;
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600&lt;br /&gt;
wget https://developer.download.nvidia.com/compute/cuda/13.2.0/local_installers/cuda-repo-wsl-ubuntu-13-2-local_13.2.0-1_amd64.deb&lt;br /&gt;
sudo dpkg -i cuda-repo-wsl-ubuntu-13-2-local_13.2.0-1_amd64.deb&lt;br /&gt;
sudo cp /var/cuda-repo-wsl-ubuntu-13-2-local/cuda-*-keyring.gpg /usr/share/keyrings/&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get -y install cuda-toolkit-13-2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;インストール出来たら環境変数を追加する。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo 'export PATH=&amp;quot;${PATH}:/usr/local/cuda-13.2/bin&amp;quot;' &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo 'export LD_LIBRARY_PATH=&amp;quot;${LD_LIBRARY_PATH}:/usr/local/cuda-13.2/lib64&amp;quot;' &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== OpenLBの再コンパイル ====&lt;br /&gt;
config.mkをconfig/gpu_only.mkを参考に書き換える。&lt;br /&gt;
&lt;br /&gt;
GPUによってパラメータの変更は必要。&lt;br /&gt;
&lt;br /&gt;
（RTX2060の場合）&amp;lt;syntaxhighlight lang=&amp;quot;makefile&amp;quot;&amp;gt;&lt;br /&gt;
# Example build config for OpenLB using CUDA on single GPU systems&lt;br /&gt;
#&lt;br /&gt;
# Tested using CUDA 11.4&lt;br /&gt;
#&lt;br /&gt;
# Usage:&lt;br /&gt;
#  - Copy this file to OpenLB root as `config.mk`&lt;br /&gt;
#  - Adjust CUDA_ARCH to match your specifc GPU&lt;br /&gt;
#  - Run `make clean; make`&lt;br /&gt;
#  - Switch to example directory, e.g. `examples/laminar/cavity3dBenchmark`&lt;br /&gt;
#  - Run `make`&lt;br /&gt;
#  - Start the simulation using `./cavity3d`&lt;br /&gt;
&lt;br /&gt;
CXX             := nvcc&lt;br /&gt;
CC              := nvcc&lt;br /&gt;
&lt;br /&gt;
CXXFLAGS        := -O3&lt;br /&gt;
CXXFLAGS        += -std=c++20 --forward-unknown-to-host-compiler&lt;br /&gt;
&lt;br /&gt;
PARALLEL_MODE   := NONE&lt;br /&gt;
&lt;br /&gt;
PLATFORMS       := CPU_SISD GPU_CUDA&lt;br /&gt;
&lt;br /&gt;
# for e.g. RTX 30* (Ampere), see table in `rules.mk` for other options&lt;br /&gt;
CUDA_ARCH       := 75&lt;br /&gt;
&lt;br /&gt;
FLOATING_POINT_TYPE := float&lt;br /&gt;
&lt;br /&gt;
USE_EMBEDDED_DEPENDENCIES := ON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;再コンパイルする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make clean&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ソルバのコンパイル ====&lt;br /&gt;
ソルバも再コンパイルする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make clean&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 実行 ====&lt;br /&gt;
実行はCPU版と同じ。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./&amp;lt;solver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
----&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenLB&amp;diff=875</id>
		<title>OpenLB</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenLB&amp;diff=875"/>
		<updated>2026-03-19T22:55:16Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''OpenLBプロジェクトは、格子ボルツマン法を実装するためのC++パッケージを提供しています。このパッケージは、数値流体力学など、幅広いマルチフィジックス輸送問題に対応します。ソースコードは公開されており、読みやすく、モジュール化され、プラットフォームに依存しない方法で構築されています。これにより、学術アプリケーションと高度なエンジニアリングアプリケーションの両方で、迅速な実装が可能になります。また、新しい物理モデルを追加するための拡張も容易です。''&lt;br /&gt;
&lt;br /&gt;
[https://www.openlb.net/ 公式ホームページ]&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
=== Windows＋WSL ===&lt;br /&gt;
まずWSLをインストールする。&amp;lt;ref&amp;gt;https://learn.microsoft.com/ja-jp/windows/wsl/install&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OpenLBをダウンロードする。&amp;lt;ref&amp;gt;https://www.openlb.net/download/&amp;lt;/ref&amp;gt;ダウンロードしたら圧縮ファイルを解凍する。&lt;br /&gt;
&lt;br /&gt;
WSLを起動する。&lt;br /&gt;
&lt;br /&gt;
WSL内にmakeをインストールする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install make gcc g++ openmpi-bin libopenmpi-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;WSL内で解答した圧縮ファイルのフォルダに移動する。&lt;br /&gt;
&lt;br /&gt;
makeを実行します。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これでOpenLBのコンパイルは完了です。&lt;br /&gt;
&lt;br /&gt;
=== インストールの確認 ===&lt;br /&gt;
試しに簡単なソルバをコンパイルして計算してみます。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd examples/laminar/cavity2d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;makeします。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;計算を実行してみます。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cavity2d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;cavity2dフォルダ内にtmpフォルダが作成され、その中に計算結果が保存されています。&lt;br /&gt;
&lt;br /&gt;
vtkDataフォルダの中にあるcavity2dvtk.pvdをParaViewで読み込み、計算が実行されていることを確認してください。&lt;br /&gt;
&lt;br /&gt;
== GPUのみで計算実行 ==&lt;br /&gt;
&lt;br /&gt;
=== WSL ===&lt;br /&gt;
&lt;br /&gt;
==== CUDAのインストール ====&lt;br /&gt;
Windows側でNVIDIAのドライバーを入れておき、nvidia-smiコマンドが実行できることを確認する。&lt;br /&gt;
&lt;br /&gt;
cudaをインストールする。&amp;lt;ref&amp;gt;https://developer.nvidia.com/cuda-downloads?target_os=Linux&amp;amp;target_arch=x86_64&amp;amp;Distribution=WSL-Ubuntu&amp;amp;target_version=2.0&amp;amp;target_type=deb_local&amp;lt;/ref&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin&lt;br /&gt;
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600&lt;br /&gt;
wget https://developer.download.nvidia.com/compute/cuda/13.2.0/local_installers/cuda-repo-wsl-ubuntu-13-2-local_13.2.0-1_amd64.deb&lt;br /&gt;
sudo dpkg -i cuda-repo-wsl-ubuntu-13-2-local_13.2.0-1_amd64.deb&lt;br /&gt;
sudo cp /var/cuda-repo-wsl-ubuntu-13-2-local/cuda-*-keyring.gpg /usr/share/keyrings/&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get -y install cuda-toolkit-13-2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;インストール出来たら環境変数を追加する。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;export PATH=${PATH}:/usr/local/cuda-13.2/bin&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo &amp;quot;export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda-13.2/lib64&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== OpenLBの再コンパイル ====&lt;br /&gt;
config.mkをconfig/gpu_only.mkを参考に書き換える。&lt;br /&gt;
&lt;br /&gt;
GPUによってパラメータの変更は必要。&lt;br /&gt;
&lt;br /&gt;
（RTX2060の場合）&amp;lt;syntaxhighlight lang=&amp;quot;makefile&amp;quot;&amp;gt;&lt;br /&gt;
# Example build config for OpenLB using CUDA on single GPU systems&lt;br /&gt;
#&lt;br /&gt;
# Tested using CUDA 11.4&lt;br /&gt;
#&lt;br /&gt;
# Usage:&lt;br /&gt;
#  - Copy this file to OpenLB root as `config.mk`&lt;br /&gt;
#  - Adjust CUDA_ARCH to match your specifc GPU&lt;br /&gt;
#  - Run `make clean; make`&lt;br /&gt;
#  - Switch to example directory, e.g. `examples/laminar/cavity3dBenchmark`&lt;br /&gt;
#  - Run `make`&lt;br /&gt;
#  - Start the simulation using `./cavity3d`&lt;br /&gt;
&lt;br /&gt;
CXX             := nvcc&lt;br /&gt;
CC              := nvcc&lt;br /&gt;
&lt;br /&gt;
CXXFLAGS        := -O3&lt;br /&gt;
CXXFLAGS        += -std=c++20 --forward-unknown-to-host-compiler&lt;br /&gt;
&lt;br /&gt;
PARALLEL_MODE   := NONE&lt;br /&gt;
&lt;br /&gt;
PLATFORMS       := CPU_SISD GPU_CUDA&lt;br /&gt;
&lt;br /&gt;
# for e.g. RTX 30* (Ampere), see table in `rules.mk` for other options&lt;br /&gt;
CUDA_ARCH       := 75&lt;br /&gt;
&lt;br /&gt;
FLOATING_POINT_TYPE := float&lt;br /&gt;
&lt;br /&gt;
USE_EMBEDDED_DEPENDENCIES := ON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;再コンパイルする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make clean&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ソルバのコンパイル ====&lt;br /&gt;
ソルバも再コンパイルする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make clean&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 実行 ====&lt;br /&gt;
実行はCPU版と同じ。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./&amp;lt;solver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
----&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenLB&amp;diff=874</id>
		<title>OpenLB</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenLB&amp;diff=874"/>
		<updated>2026-03-19T22:53:26Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''OpenLBプロジェクトは、格子ボルツマン法を実装するためのC++パッケージを提供しています。このパッケージは、数値流体力学など、幅広いマルチフィジックス輸送問題に対応します。ソースコードは公開されており、読みやすく、モジュール化され、プラットフォームに依存しない方法で構築されています。これにより、学術アプリケーションと高度なエンジニアリングアプリケーションの両方で、迅速な実装が可能になります。また、新しい物理モデルを追加するための拡張も容易です。''&lt;br /&gt;
&lt;br /&gt;
[https://www.openlb.net/ 公式ホームページ]&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
=== Windows＋WSL ===&lt;br /&gt;
まずWSLをインストールする。&amp;lt;ref&amp;gt;https://learn.microsoft.com/ja-jp/windows/wsl/install&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OpenLBをダウンロードする。&amp;lt;ref&amp;gt;https://www.openlb.net/download/&amp;lt;/ref&amp;gt;ダウンロードしたら圧縮ファイルを解凍する。&lt;br /&gt;
&lt;br /&gt;
WSLを起動する。&lt;br /&gt;
&lt;br /&gt;
WSL内にmakeをインストールする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install make gcc g++ openmpi-bin libopenmpi-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;WSL内で解答した圧縮ファイルのフォルダに移動する。&lt;br /&gt;
&lt;br /&gt;
makeを実行します。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これでOpenLBのコンパイルは完了です。&lt;br /&gt;
&lt;br /&gt;
=== インストールの確認 ===&lt;br /&gt;
試しに簡単なソルバをコンパイルして計算してみます。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd examples/laminar/cavity2d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;makeします。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;計算を実行してみます。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cavity2d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;cavity2dフォルダ内にtmpフォルダが作成され、その中に計算結果が保存されています。&lt;br /&gt;
&lt;br /&gt;
vtkDataフォルダの中にあるcavity2dvtk.pvdをParaViewで読み込み、計算が実行されていることを確認してください。&lt;br /&gt;
&lt;br /&gt;
== GPUのみで計算実行 ==&lt;br /&gt;
&lt;br /&gt;
=== WSL ===&lt;br /&gt;
&lt;br /&gt;
==== CUDAのインストール ====&lt;br /&gt;
Windows側でNVIDIAのドライバーを入れておき、nvidia-smiコマンドが実行できることを確認する。&lt;br /&gt;
&lt;br /&gt;
cudaをインストールする。&amp;lt;ref&amp;gt;https://developer.nvidia.com/cuda-downloads?target_os=Linux&amp;amp;target_arch=x86_64&amp;amp;Distribution=WSL-Ubuntu&amp;amp;target_version=2.0&amp;amp;target_type=deb_local&amp;lt;/ref&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin&lt;br /&gt;
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600&lt;br /&gt;
wget https://developer.download.nvidia.com/compute/cuda/13.2.0/local_installers/cuda-repo-wsl-ubuntu-13-2-local_13.2.0-1_amd64.deb&lt;br /&gt;
sudo dpkg -i cuda-repo-wsl-ubuntu-13-2-local_13.2.0-1_amd64.deb&lt;br /&gt;
sudo cp /var/cuda-repo-wsl-ubuntu-13-2-local/cuda-*-keyring.gpg /usr/share/keyrings/&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get -y install cuda-toolkit-13-2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;インストール出来たら環境変数を追加する。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo export PATH=${PATH}:/usr/local/cuda-13.2/bin &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda-13.2/lib64 &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== OpenLBの再コンパイル ====&lt;br /&gt;
config.mkをconfig/gpu_only.mkを参考に書き換える。&lt;br /&gt;
&lt;br /&gt;
GPUによってパラメータの変更は必要。&lt;br /&gt;
&lt;br /&gt;
（RTX2060の場合）&amp;lt;syntaxhighlight lang=&amp;quot;makefile&amp;quot;&amp;gt;&lt;br /&gt;
# Example build config for OpenLB using CUDA on single GPU systems&lt;br /&gt;
#&lt;br /&gt;
# Tested using CUDA 11.4&lt;br /&gt;
#&lt;br /&gt;
# Usage:&lt;br /&gt;
#  - Copy this file to OpenLB root as `config.mk`&lt;br /&gt;
#  - Adjust CUDA_ARCH to match your specifc GPU&lt;br /&gt;
#  - Run `make clean; make`&lt;br /&gt;
#  - Switch to example directory, e.g. `examples/laminar/cavity3dBenchmark`&lt;br /&gt;
#  - Run `make`&lt;br /&gt;
#  - Start the simulation using `./cavity3d`&lt;br /&gt;
&lt;br /&gt;
CXX             := nvcc&lt;br /&gt;
CC              := nvcc&lt;br /&gt;
&lt;br /&gt;
CXXFLAGS        := -O3&lt;br /&gt;
CXXFLAGS        += -std=c++20 --forward-unknown-to-host-compiler&lt;br /&gt;
&lt;br /&gt;
PARALLEL_MODE   := NONE&lt;br /&gt;
&lt;br /&gt;
PLATFORMS       := CPU_SISD GPU_CUDA&lt;br /&gt;
&lt;br /&gt;
# for e.g. RTX 30* (Ampere), see table in `rules.mk` for other options&lt;br /&gt;
CUDA_ARCH       := 75&lt;br /&gt;
&lt;br /&gt;
FLOATING_POINT_TYPE := float&lt;br /&gt;
&lt;br /&gt;
USE_EMBEDDED_DEPENDENCIES := ON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;再コンパイルする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make clean&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ソルバのコンパイル ====&lt;br /&gt;
ソルバも再コンパイルする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make clean&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 実行 ====&lt;br /&gt;
実行はCPU版と同じ。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./&amp;lt;solver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
----&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenLB&amp;diff=873</id>
		<title>OpenLB</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenLB&amp;diff=873"/>
		<updated>2026-03-19T22:52:20Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''OpenLBプロジェクトは、格子ボルツマン法を実装するためのC++パッケージを提供しています。このパッケージは、数値流体力学など、幅広いマルチフィジックス輸送問題に対応します。ソースコードは公開されており、読みやすく、モジュール化され、プラットフォームに依存しない方法で構築されています。これにより、学術アプリケーションと高度なエンジニアリングアプリケーションの両方で、迅速な実装が可能になります。また、新しい物理モデルを追加するための拡張も容易です。''&lt;br /&gt;
&lt;br /&gt;
[https://www.openlb.net/ 公式ホームページ]&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
=== Windows＋WSL ===&lt;br /&gt;
まずWSLをインストールする。&amp;lt;ref&amp;gt;https://learn.microsoft.com/ja-jp/windows/wsl/install&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OpenLBをダウンロードする。&amp;lt;ref&amp;gt;https://www.openlb.net/download/&amp;lt;/ref&amp;gt;ダウンロードしたら圧縮ファイルを解凍する。&lt;br /&gt;
&lt;br /&gt;
WSLを起動する。&lt;br /&gt;
&lt;br /&gt;
WSL内にmakeをインストールする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install make gcc g++ openmpi-bin libopenmpi-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;WSL内で解答した圧縮ファイルのフォルダに移動する。&lt;br /&gt;
&lt;br /&gt;
makeを実行します。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これでOpenLBのコンパイルは完了です。&lt;br /&gt;
&lt;br /&gt;
=== インストールの確認 ===&lt;br /&gt;
試しに簡単なソルバをコンパイルして計算してみます。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd examples/laminar/cavity2d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;makeします。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;計算を実行してみます。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cavity2d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;cavity2dフォルダ内にtmpフォルダが作成され、その中に計算結果が保存されています。&lt;br /&gt;
&lt;br /&gt;
vtkDataフォルダの中にあるcavity2dvtk.pvdをParaViewで読み込み、計算が実行されていることを確認してください。&lt;br /&gt;
&lt;br /&gt;
== GPUのみで計算実行 ==&lt;br /&gt;
&lt;br /&gt;
=== WSL ===&lt;br /&gt;
&lt;br /&gt;
==== CUDAのインストール ====&lt;br /&gt;
Windows側でNVIDIAのドライバーを入れておき、nvidia-smiコマンドが実行できることを確認する。&lt;br /&gt;
&lt;br /&gt;
cudaをインストールする。&amp;lt;ref&amp;gt;https://developer.nvidia.com/cuda-downloads?target_os=Linux&amp;amp;target_arch=x86_64&amp;amp;Distribution=WSL-Ubuntu&amp;amp;target_version=2.0&amp;amp;target_type=deb_local&amp;lt;/ref&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin&lt;br /&gt;
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600&lt;br /&gt;
wget https://developer.download.nvidia.com/compute/cuda/13.2.0/local_installers/cuda-repo-wsl-ubuntu-13-2-local_13.2.0-1_amd64.deb&lt;br /&gt;
sudo dpkg -i cuda-repo-wsl-ubuntu-13-2-local_13.2.0-1_amd64.deb&lt;br /&gt;
sudo cp /var/cuda-repo-wsl-ubuntu-13-2-local/cuda-*-keyring.gpg /usr/share/keyrings/&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get -y install cuda-toolkit-13-2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;インストール出来たら環境変数を追加する。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export PATH=${PATH}:/usr/local/cuda-13.2/bin &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda-13.2/lib64 &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== OpenLBの再コンパイル ====&lt;br /&gt;
config.mkをconfig/gpu_only.mkを参考に書き換える。&lt;br /&gt;
&lt;br /&gt;
GPUによってパラメータの変更は必要。&lt;br /&gt;
&lt;br /&gt;
（RTX2060の場合）&amp;lt;syntaxhighlight lang=&amp;quot;makefile&amp;quot;&amp;gt;&lt;br /&gt;
# Example build config for OpenLB using CUDA on single GPU systems&lt;br /&gt;
#&lt;br /&gt;
# Tested using CUDA 11.4&lt;br /&gt;
#&lt;br /&gt;
# Usage:&lt;br /&gt;
#  - Copy this file to OpenLB root as `config.mk`&lt;br /&gt;
#  - Adjust CUDA_ARCH to match your specifc GPU&lt;br /&gt;
#  - Run `make clean; make`&lt;br /&gt;
#  - Switch to example directory, e.g. `examples/laminar/cavity3dBenchmark`&lt;br /&gt;
#  - Run `make`&lt;br /&gt;
#  - Start the simulation using `./cavity3d`&lt;br /&gt;
&lt;br /&gt;
CXX             := nvcc&lt;br /&gt;
CC              := nvcc&lt;br /&gt;
&lt;br /&gt;
CXXFLAGS        := -O3&lt;br /&gt;
CXXFLAGS        += -std=c++20 --forward-unknown-to-host-compiler&lt;br /&gt;
&lt;br /&gt;
PARALLEL_MODE   := NONE&lt;br /&gt;
&lt;br /&gt;
PLATFORMS       := CPU_SISD GPU_CUDA&lt;br /&gt;
&lt;br /&gt;
# for e.g. RTX 30* (Ampere), see table in `rules.mk` for other options&lt;br /&gt;
CUDA_ARCH       := 75&lt;br /&gt;
&lt;br /&gt;
FLOATING_POINT_TYPE := float&lt;br /&gt;
&lt;br /&gt;
USE_EMBEDDED_DEPENDENCIES := ON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;再コンパイルする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make clean&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ソルバのコンパイル ====&lt;br /&gt;
ソルバも再コンパイルする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make clean&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 実行 ====&lt;br /&gt;
実行はCPU版と同じ。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./&amp;lt;solver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
----&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenLB&amp;diff=872</id>
		<title>OpenLB</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenLB&amp;diff=872"/>
		<updated>2026-03-19T12:32:09Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''OpenLBプロジェクトは、格子ボルツマン法を実装するためのC++パッケージを提供しています。このパッケージは、数値流体力学など、幅広いマルチフィジックス輸送問題に対応します。ソースコードは公開されており、読みやすく、モジュール化され、プラットフォームに依存しない方法で構築されています。これにより、学術アプリケーションと高度なエンジニアリングアプリケーションの両方で、迅速な実装が可能になります。また、新しい物理モデルを追加するための拡張も容易です。''&lt;br /&gt;
&lt;br /&gt;
[https://www.openlb.net/ 公式ホームページ]&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
=== Windows＋WSL ===&lt;br /&gt;
まずWSLをインストールする。&amp;lt;ref&amp;gt;https://learn.microsoft.com/ja-jp/windows/wsl/install&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OpenLBをダウンロードする。&amp;lt;ref&amp;gt;https://www.openlb.net/download/&amp;lt;/ref&amp;gt;ダウンロードしたら圧縮ファイルを解凍する。&lt;br /&gt;
&lt;br /&gt;
WSLを起動する。&lt;br /&gt;
&lt;br /&gt;
WSL内にmakeをインストールする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install make gcc g++ openmpi-bin libopenmpi-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;WSL内で解答した圧縮ファイルのフォルダに移動する。&lt;br /&gt;
&lt;br /&gt;
makeを実行します。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これでOpenLBのコンパイルは完了です。&lt;br /&gt;
&lt;br /&gt;
=== インストールの確認 ===&lt;br /&gt;
試しに簡単なソルバをコンパイルして計算してみます。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd examples/laminar/cavity2d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;makeします。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;計算を実行してみます。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cavity2d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;cavity2dフォルダ内にtmpフォルダが作成され、その中に計算結果が保存されています。&lt;br /&gt;
&lt;br /&gt;
vtkDataフォルダの中にあるcavity2dvtk.pvdをParaViewで読み込み、計算が実行されていることを確認してください。&lt;br /&gt;
&lt;br /&gt;
== GPUのみで計算実行 ==&lt;br /&gt;
&lt;br /&gt;
=== WSL ===&lt;br /&gt;
&lt;br /&gt;
==== CUDAのインストール ====&lt;br /&gt;
Windows側でNVIDIAのドライバーを入れておき、nvidia-smiコマンドが実行できることを確認する。&lt;br /&gt;
&lt;br /&gt;
cudaをインストールする。&amp;lt;ref&amp;gt;https://developer.nvidia.com/cuda-downloads?target_os=Linux&amp;amp;target_arch=x86_64&amp;amp;Distribution=WSL-Ubuntu&amp;amp;target_version=2.0&amp;amp;target_type=deb_local&amp;lt;/ref&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin&lt;br /&gt;
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600&lt;br /&gt;
wget https://developer.download.nvidia.com/compute/cuda/13.2.0/local_installers/cuda-repo-wsl-ubuntu-13-2-local_13.2.0-1_amd64.deb&lt;br /&gt;
sudo dpkg -i cuda-repo-wsl-ubuntu-13-2-local_13.2.0-1_amd64.deb&lt;br /&gt;
sudo cp /var/cuda-repo-wsl-ubuntu-13-2-local/cuda-*-keyring.gpg /usr/share/keyrings/&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get -y install cuda-toolkit-13-2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;インストール出来たら環境変数を追加する。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export PATH=${PATH}:/usr/local/cuda-13.2/bin &amp;gt; ~/.bashrc&lt;br /&gt;
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda-13.2/lib64 &amp;gt; ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== OpenLBの再コンパイル ====&lt;br /&gt;
config.mkをconfig/gpu_only.mkを参考に書き換える。&lt;br /&gt;
&lt;br /&gt;
GPUによってパラメータの変更は必要。&lt;br /&gt;
&lt;br /&gt;
（RTX2060の場合）&amp;lt;syntaxhighlight lang=&amp;quot;makefile&amp;quot;&amp;gt;&lt;br /&gt;
# Example build config for OpenLB using CUDA on single GPU systems&lt;br /&gt;
#&lt;br /&gt;
# Tested using CUDA 11.4&lt;br /&gt;
#&lt;br /&gt;
# Usage:&lt;br /&gt;
#  - Copy this file to OpenLB root as `config.mk`&lt;br /&gt;
#  - Adjust CUDA_ARCH to match your specifc GPU&lt;br /&gt;
#  - Run `make clean; make`&lt;br /&gt;
#  - Switch to example directory, e.g. `examples/laminar/cavity3dBenchmark`&lt;br /&gt;
#  - Run `make`&lt;br /&gt;
#  - Start the simulation using `./cavity3d`&lt;br /&gt;
&lt;br /&gt;
CXX             := nvcc&lt;br /&gt;
CC              := nvcc&lt;br /&gt;
&lt;br /&gt;
CXXFLAGS        := -O3&lt;br /&gt;
CXXFLAGS        += -std=c++20 --forward-unknown-to-host-compiler&lt;br /&gt;
&lt;br /&gt;
PARALLEL_MODE   := NONE&lt;br /&gt;
&lt;br /&gt;
PLATFORMS       := CPU_SISD GPU_CUDA&lt;br /&gt;
&lt;br /&gt;
# for e.g. RTX 30* (Ampere), see table in `rules.mk` for other options&lt;br /&gt;
CUDA_ARCH       := 75&lt;br /&gt;
&lt;br /&gt;
FLOATING_POINT_TYPE := float&lt;br /&gt;
&lt;br /&gt;
USE_EMBEDDED_DEPENDENCIES := ON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;再コンパイルする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make clean&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ソルバのコンパイル ====&lt;br /&gt;
ソルバも再コンパイルする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make clean&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 実行 ====&lt;br /&gt;
実行はCPU版と同じ。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./&amp;lt;solver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
----&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenLB&amp;diff=871</id>
		<title>OpenLB</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenLB&amp;diff=871"/>
		<updated>2026-03-04T10:29:12Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''OpenLBプロジェクトは、格子ボルツマン法を実装するためのC++パッケージを提供しています。このパッケージは、数値流体力学など、幅広いマルチフィジックス輸送問題に対応します。ソースコードは公開されており、読みやすく、モジュール化され、プラットフォームに依存しない方法で構築されています。これにより、学術アプリケーションと高度なエンジニアリングアプリケーションの両方で、迅速な実装が可能になります。また、新しい物理モデルを追加するための拡張も容易です。''&lt;br /&gt;
&lt;br /&gt;
[https://www.openlb.net/ 公式ホームページ]&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
=== Windows＋WSL ===&lt;br /&gt;
まずWSLをインストールする。&amp;lt;ref&amp;gt;https://learn.microsoft.com/ja-jp/windows/wsl/install&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OpenLBをダウンロードする。&amp;lt;ref&amp;gt;https://www.openlb.net/download/&amp;lt;/ref&amp;gt;ダウンロードしたら圧縮ファイルを解凍する。&lt;br /&gt;
&lt;br /&gt;
WSLを起動する。&lt;br /&gt;
&lt;br /&gt;
WSL内にmakeをインストールする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install make gcc g++ openmpi-bin libopenmpi-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;WSL内で解答した圧縮ファイルのフォルダに移動する。&lt;br /&gt;
&lt;br /&gt;
makeを実行します。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これでOpenLBのコンパイルは完了です。&lt;br /&gt;
&lt;br /&gt;
=== インストールの確認 ===&lt;br /&gt;
試しに簡単なソルバをコンパイルして計算してみます。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd examples/laminar/cavity2d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;makeします。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;計算を実行してみます。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cavity2d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;cavity2dフォルダ内にtmpフォルダが作成され、その中に計算結果が保存されています。&lt;br /&gt;
&lt;br /&gt;
vtkDataフォルダの中にあるcavity2dvtk.pvdをParaViewで読み込み、計算が実行されていることを確認してください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenLB&amp;diff=870</id>
		<title>OpenLB</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenLB&amp;diff=870"/>
		<updated>2026-02-25T12:42:05Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''OpenLBプロジェクトは、格子ボルツマン法を実装するためのC++パッケージを提供しています。このパッケージは、数値流体力学など、幅広いマルチフィジックス輸送問題に対応します。ソースコードは公開されており、読みやすく、モジュール化され、プラットフォームに依存しない方法で構築されています。これにより、学術アプリケーションと高度なエンジニアリングアプリケーションの両方で、迅速な実装が可能になります。また、新しい物理モデルを追加するための拡張も容易です。''&lt;br /&gt;
&lt;br /&gt;
[https://www.openlb.net/ 公式ホームページ]&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
=== Windows＋WSL ===&lt;br /&gt;
まずWSLをインストールする。&amp;lt;ref&amp;gt;https://learn.microsoft.com/ja-jp/windows/wsl/install&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OpenLBをダウンロードする。&amp;lt;ref&amp;gt;https://www.openlb.net/download/&amp;lt;/ref&amp;gt;ダウンロードしたら圧縮ファイルを解凍する。&lt;br /&gt;
&lt;br /&gt;
WSLを起動する。&lt;br /&gt;
&lt;br /&gt;
WSL内にmakeをインストールする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install make gcc g++ openmpi-bin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;WSL内で解答した圧縮ファイルのフォルダに移動する。&lt;br /&gt;
&lt;br /&gt;
makeを実行します。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これでOpenLBのコンパイルは完了です。&lt;br /&gt;
&lt;br /&gt;
=== インストールの確認 ===&lt;br /&gt;
試しに簡単なソルバをコンパイルして計算してみます。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd examples/laminar/cavity2d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;makeします。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;計算を実行してみます。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cavity2d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;cavity2dフォルダ内にtmpフォルダが作成され、その中に計算結果が保存されています。&lt;br /&gt;
&lt;br /&gt;
vtkDataフォルダの中にあるcavity2dvtk.pvdをParaViewで読み込み、計算が実行されていることを確認してください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenLB&amp;diff=869</id>
		<title>OpenLB</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenLB&amp;diff=869"/>
		<updated>2026-02-25T12:35:59Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: ページの作成:「''OpenLBプロジェクトは、格子ボルツマン法を実装するためのC++パッケージを提供しています。このパッケージは、数値流体力学など、幅広いマルチフィジックス輸送問題に対応します。ソースコードは公開されており、読みやすく、モジュール化され、プラットフォームに依存しない方法で構築されています。これにより、学術アプリケーションと高…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''OpenLBプロジェクトは、格子ボルツマン法を実装するためのC++パッケージを提供しています。このパッケージは、数値流体力学など、幅広いマルチフィジックス輸送問題に対応します。ソースコードは公開されており、読みやすく、モジュール化され、プラットフォームに依存しない方法で構築されています。これにより、学術アプリケーションと高度なエンジニアリングアプリケーションの両方で、迅速な実装が可能になります。また、新しい物理モデルを追加するための拡張も容易です。''&lt;br /&gt;
&lt;br /&gt;
[https://www.openlb.net/ 公式ホームページ]&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
=== Windows＋WSL ===&lt;br /&gt;
まずWSLをインストールする。&amp;lt;ref&amp;gt;https://learn.microsoft.com/ja-jp/windows/wsl/install&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OpenLBをダウンロードする。&amp;lt;ref&amp;gt;https://www.openlb.net/download/&amp;lt;/ref&amp;gt;ダウンロードしたら圧縮ファイルを解凍する。&lt;br /&gt;
&lt;br /&gt;
WSLを起動する。&lt;br /&gt;
&lt;br /&gt;
WSL内にmakeをインストールする。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install make gcc g++ openmpi-bin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;WSL内で解答した圧縮ファイルのフォルダに移動する。&lt;br /&gt;
&lt;br /&gt;
makeを実行します。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これでOpenLBのコンパイルは完了です。&lt;br /&gt;
&lt;br /&gt;
=== インストールの確認 ===&lt;br /&gt;
試しに簡単なソルバをコンパイルして計算してみます。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd examples/laminar/cavity2d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;makeします。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;計算を実行してみます。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cavity2d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=868</id>
		<title>メインページ</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=868"/>
		<updated>2026-02-25T12:12:40Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: /* 格子ボルツマン法 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;オープンCAEWikiにようこそ！&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
本wikiはオープンソースCAEソフトウェアについての情報まとめています。&lt;br /&gt;
クローズドなwikiではありません。&lt;br /&gt;
ご編集されたい方はアカウントをご登録ください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
なお、内容はオープンCAEに関連するものでお願いします。&lt;br /&gt;
&lt;br /&gt;
本wikiはオープンCAE学会が管理しています。&lt;br /&gt;
オープンCAE学会については[http://www.opencae.or.jp 公式サイト]を参照してください。&lt;br /&gt;
&lt;br /&gt;
[https://www.opencae.or.jp/ オープンCAE学会公式サイト]&lt;br /&gt;
&lt;br /&gt;
オープンCAE学会リポジトリ [https://gitlab.com/OpenCAE Gitlab] [https://github.com/opencae Github]&lt;br /&gt;
&lt;br /&gt;
=== オープンCAEの前提知識 ===&lt;br /&gt;
&lt;br /&gt;
[[Linux]]&lt;br /&gt;
&lt;br /&gt;
[[解析用語]]&lt;br /&gt;
&lt;br /&gt;
=== CAD ===&lt;br /&gt;
[[FreeCAD]]&lt;br /&gt;
&lt;br /&gt;
=== メッシャー ===&lt;br /&gt;
[[Netgen]]&lt;br /&gt;
&lt;br /&gt;
[[Gmsh]]&lt;br /&gt;
&lt;br /&gt;
=== 流体 ===&lt;br /&gt;
[[OpenFOAM]]&lt;br /&gt;
&lt;br /&gt;
[[SU2]]&lt;br /&gt;
&lt;br /&gt;
=== 構造 ===&lt;br /&gt;
[[FrontISTR]]&lt;br /&gt;
&lt;br /&gt;
[[Salome-Meca]]&lt;br /&gt;
&lt;br /&gt;
[[CalculiX]]&lt;br /&gt;
&lt;br /&gt;
[[PrePoMax]]&lt;br /&gt;
&lt;br /&gt;
[[StressRefine]]&lt;br /&gt;
&lt;br /&gt;
[[FEBio]]&lt;br /&gt;
&lt;br /&gt;
[[PlantFEM]]&lt;br /&gt;
&lt;br /&gt;
[[OpenRadioss]]&lt;br /&gt;
&lt;br /&gt;
=== MBD(モデルベースデザイン) ===&lt;br /&gt;
[[OpenModelica]]&lt;br /&gt;
&lt;br /&gt;
=== 機構解析 ===&lt;br /&gt;
&lt;br /&gt;
[[MBDyn]]&lt;br /&gt;
&lt;br /&gt;
[[EXUDYN]]&lt;br /&gt;
&lt;br /&gt;
=== 有限要素法ライブラリ・ツールセット ===&lt;br /&gt;
&lt;br /&gt;
[[GetFEM]]&lt;br /&gt;
&lt;br /&gt;
[[DelFEM2]]&lt;br /&gt;
&lt;br /&gt;
[[sparselizard]]&lt;br /&gt;
&lt;br /&gt;
[[ivyFEM]]&lt;br /&gt;
&lt;br /&gt;
=== マルチフィジックス ===&lt;br /&gt;
[[Elmer]]&lt;br /&gt;
&lt;br /&gt;
=== 粒子法 ===&lt;br /&gt;
[[DualSPHygics]]&lt;br /&gt;
&lt;br /&gt;
[[OpenMPS]]&lt;br /&gt;
&lt;br /&gt;
=== 格子ボルツマン法 ===&lt;br /&gt;
[[Palabos]]&lt;br /&gt;
&lt;br /&gt;
[[waLBerla]]&lt;br /&gt;
&lt;br /&gt;
[[OpenLB]]&lt;br /&gt;
&lt;br /&gt;
=== 偏微分方程式ソルバ ===&lt;br /&gt;
&lt;br /&gt;
[[FEniCSx]]&lt;br /&gt;
&lt;br /&gt;
=== 可視化 ===&lt;br /&gt;
[[Paraview]]&lt;br /&gt;
&lt;br /&gt;
[[PyVista]]&lt;br /&gt;
&lt;br /&gt;
[[Mayavi]]&lt;br /&gt;
&lt;br /&gt;
=== 最適化 ===&lt;br /&gt;
[[OpenMDAO]]&lt;br /&gt;
&lt;br /&gt;
[[OpenDA]]&lt;br /&gt;
&lt;br /&gt;
[[Dakota]]&lt;br /&gt;
&lt;br /&gt;
=== クラウド ===&lt;br /&gt;
&lt;br /&gt;
[[SimScale]]&lt;br /&gt;
&lt;br /&gt;
=== V&amp;amp;V ===&lt;br /&gt;
[https://www.opencae.or.jp/activity/committee/vandv/ V&amp;amp;V小委員会(オープンCAE学会)]&lt;br /&gt;
&lt;br /&gt;
[https://feaber.readthedocs.io/ja/latest/ FEABeR]&lt;br /&gt;
&lt;br /&gt;
[https://www.grc.nasa.gov/www/wind/valid/tutorial/overview.html Overview of CFD Verification and Validation]&lt;br /&gt;
&lt;br /&gt;
=== ベンチマーク ===&lt;br /&gt;
[https://www.cenav.org/ 計算工学ナビ]&lt;br /&gt;
&lt;br /&gt;
[https://www.en.build.aau.dk/web/cfd-benchmarks CFD benchmarks]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/luo-yining/CFDBench CFDBench]&lt;br /&gt;
&lt;br /&gt;
=== プログラミング ===&lt;br /&gt;
[[Python]]&lt;br /&gt;
&lt;br /&gt;
[[C++]]&lt;br /&gt;
&lt;br /&gt;
=== その他 ===&lt;br /&gt;
&lt;br /&gt;
[[物性データベース]]&lt;br /&gt;
&lt;br /&gt;
[[Blender]]&lt;br /&gt;
&lt;br /&gt;
[[Maxima]]&lt;br /&gt;
&lt;br /&gt;
[[REDUCE]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2017/openfoam OpenFOAM Advent Calendar 2017]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2018/opencae-ac2018 オープンCAE Advent Calendar 2018]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2019/opencae-ac2019 オープンCAE Advent Calendar 2019]&lt;br /&gt;
&lt;br /&gt;
[https://adventar.org/calendars/5192 オープンCAE Advent Calendar 2020]&lt;br /&gt;
&lt;br /&gt;
[https://adventar.org/calendars/6423 オープンCAE Advent Calendar 2021]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2022/opencae オープンCAE Advent Calendar 2022]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2023/opencae オープンCAE Advent Calendar 2023]&lt;br /&gt;
&lt;br /&gt;
=== オープンCAE ===&lt;br /&gt;
[[オープンCAEの系譜]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/channel/UCuffpM6BjZWZ4AEDFiQexEg オープンCAE動画チャンネル]&lt;br /&gt;
&lt;br /&gt;
[[各地の勉強会]]&lt;br /&gt;
&lt;br /&gt;
[[勝手にブックレビュー]]&lt;br /&gt;
&lt;br /&gt;
[[オープンCAE名言集]]&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=867</id>
		<title>メインページ</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=867"/>
		<updated>2025-01-26T01:58:12Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: /* ベンチマーク */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;オープンCAEWikiにようこそ！&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
本wikiはオープンソースCAEソフトウェアについての情報まとめています。&lt;br /&gt;
クローズドなwikiではありません。&lt;br /&gt;
ご編集されたい方はアカウントをご登録ください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
なお、内容はオープンCAEに関連するものでお願いします。&lt;br /&gt;
&lt;br /&gt;
本wikiはオープンCAE学会が管理しています。&lt;br /&gt;
オープンCAE学会については[http://www.opencae.or.jp 公式サイト]を参照してください。&lt;br /&gt;
&lt;br /&gt;
[https://www.opencae.or.jp/ オープンCAE学会公式サイト]&lt;br /&gt;
&lt;br /&gt;
オープンCAE学会リポジトリ [https://gitlab.com/OpenCAE Gitlab] [https://github.com/opencae Github]&lt;br /&gt;
&lt;br /&gt;
=== オープンCAEの前提知識 ===&lt;br /&gt;
&lt;br /&gt;
[[Linux]]&lt;br /&gt;
&lt;br /&gt;
[[解析用語]]&lt;br /&gt;
&lt;br /&gt;
=== CAD ===&lt;br /&gt;
[[FreeCAD]]&lt;br /&gt;
&lt;br /&gt;
=== メッシャー ===&lt;br /&gt;
[[Netgen]]&lt;br /&gt;
&lt;br /&gt;
[[Gmsh]]&lt;br /&gt;
&lt;br /&gt;
=== 流体 ===&lt;br /&gt;
[[OpenFOAM]]&lt;br /&gt;
&lt;br /&gt;
[[SU2]]&lt;br /&gt;
&lt;br /&gt;
=== 構造 ===&lt;br /&gt;
[[FrontISTR]]&lt;br /&gt;
&lt;br /&gt;
[[Salome-Meca]]&lt;br /&gt;
&lt;br /&gt;
[[CalculiX]]&lt;br /&gt;
&lt;br /&gt;
[[PrePoMax]]&lt;br /&gt;
&lt;br /&gt;
[[StressRefine]]&lt;br /&gt;
&lt;br /&gt;
[[FEBio]]&lt;br /&gt;
&lt;br /&gt;
[[PlantFEM]]&lt;br /&gt;
&lt;br /&gt;
[[OpenRadioss]]&lt;br /&gt;
&lt;br /&gt;
=== MBD(モデルベースデザイン) ===&lt;br /&gt;
[[OpenModelica]]&lt;br /&gt;
&lt;br /&gt;
=== 機構解析 ===&lt;br /&gt;
&lt;br /&gt;
[[MBDyn]]&lt;br /&gt;
&lt;br /&gt;
[[EXUDYN]]&lt;br /&gt;
&lt;br /&gt;
=== 有限要素法ライブラリ・ツールセット ===&lt;br /&gt;
&lt;br /&gt;
[[GetFEM]]&lt;br /&gt;
&lt;br /&gt;
[[DelFEM2]]&lt;br /&gt;
&lt;br /&gt;
[[sparselizard]]&lt;br /&gt;
&lt;br /&gt;
[[ivyFEM]]&lt;br /&gt;
&lt;br /&gt;
=== マルチフィジックス ===&lt;br /&gt;
[[Elmer]]&lt;br /&gt;
&lt;br /&gt;
=== 粒子法 ===&lt;br /&gt;
[[DualSPHygics]]&lt;br /&gt;
&lt;br /&gt;
[[OpenMPS]]&lt;br /&gt;
&lt;br /&gt;
=== 格子ボルツマン法 ===&lt;br /&gt;
[[Palabos]]&lt;br /&gt;
&lt;br /&gt;
[[waLBerla]]&lt;br /&gt;
&lt;br /&gt;
=== 偏微分方程式ソルバ ===&lt;br /&gt;
&lt;br /&gt;
[[FEniCSx]]&lt;br /&gt;
&lt;br /&gt;
=== 可視化 ===&lt;br /&gt;
[[Paraview]]&lt;br /&gt;
&lt;br /&gt;
[[PyVista]]&lt;br /&gt;
&lt;br /&gt;
[[Mayavi]]&lt;br /&gt;
&lt;br /&gt;
=== 最適化 ===&lt;br /&gt;
[[OpenMDAO]]&lt;br /&gt;
&lt;br /&gt;
[[OpenDA]]&lt;br /&gt;
&lt;br /&gt;
[[Dakota]]&lt;br /&gt;
&lt;br /&gt;
=== クラウド ===&lt;br /&gt;
&lt;br /&gt;
[[SimScale]]&lt;br /&gt;
&lt;br /&gt;
=== V&amp;amp;V ===&lt;br /&gt;
[https://www.opencae.or.jp/activity/committee/vandv/ V&amp;amp;V小委員会(オープンCAE学会)]&lt;br /&gt;
&lt;br /&gt;
[https://feaber.readthedocs.io/ja/latest/ FEABeR]&lt;br /&gt;
&lt;br /&gt;
[https://www.grc.nasa.gov/www/wind/valid/tutorial/overview.html Overview of CFD Verification and Validation]&lt;br /&gt;
&lt;br /&gt;
=== ベンチマーク ===&lt;br /&gt;
[https://www.cenav.org/ 計算工学ナビ]&lt;br /&gt;
&lt;br /&gt;
[https://www.en.build.aau.dk/web/cfd-benchmarks CFD benchmarks]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/luo-yining/CFDBench CFDBench]&lt;br /&gt;
&lt;br /&gt;
=== プログラミング ===&lt;br /&gt;
[[Python]]&lt;br /&gt;
&lt;br /&gt;
[[C++]]&lt;br /&gt;
&lt;br /&gt;
=== その他 ===&lt;br /&gt;
&lt;br /&gt;
[[物性データベース]]&lt;br /&gt;
&lt;br /&gt;
[[Blender]]&lt;br /&gt;
&lt;br /&gt;
[[Maxima]]&lt;br /&gt;
&lt;br /&gt;
[[REDUCE]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2017/openfoam OpenFOAM Advent Calendar 2017]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2018/opencae-ac2018 オープンCAE Advent Calendar 2018]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2019/opencae-ac2019 オープンCAE Advent Calendar 2019]&lt;br /&gt;
&lt;br /&gt;
[https://adventar.org/calendars/5192 オープンCAE Advent Calendar 2020]&lt;br /&gt;
&lt;br /&gt;
[https://adventar.org/calendars/6423 オープンCAE Advent Calendar 2021]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2022/opencae オープンCAE Advent Calendar 2022]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2023/opencae オープンCAE Advent Calendar 2023]&lt;br /&gt;
&lt;br /&gt;
=== オープンCAE ===&lt;br /&gt;
[[オープンCAEの系譜]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/channel/UCuffpM6BjZWZ4AEDFiQexEg オープンCAE動画チャンネル]&lt;br /&gt;
&lt;br /&gt;
[[各地の勉強会]]&lt;br /&gt;
&lt;br /&gt;
[[勝手にブックレビュー]]&lt;br /&gt;
&lt;br /&gt;
[[オープンCAE名言集]]&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=866</id>
		<title>メインページ</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=866"/>
		<updated>2025-01-26T01:51:51Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: /* ベンチマーク */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;オープンCAEWikiにようこそ！&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
本wikiはオープンソースCAEソフトウェアについての情報まとめています。&lt;br /&gt;
クローズドなwikiではありません。&lt;br /&gt;
ご編集されたい方はアカウントをご登録ください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
なお、内容はオープンCAEに関連するものでお願いします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== オープンCAEの前提知識 ===&lt;br /&gt;
&lt;br /&gt;
[[Linux]]&lt;br /&gt;
&lt;br /&gt;
[[解析用語]]&lt;br /&gt;
&lt;br /&gt;
=== CAD ===&lt;br /&gt;
[[FreeCAD]]&lt;br /&gt;
&lt;br /&gt;
=== メッシャー ===&lt;br /&gt;
[[Netgen]]&lt;br /&gt;
&lt;br /&gt;
[[Gmsh]]&lt;br /&gt;
&lt;br /&gt;
=== 流体 ===&lt;br /&gt;
[[OpenFOAM]]&lt;br /&gt;
&lt;br /&gt;
[[SU2]]&lt;br /&gt;
&lt;br /&gt;
=== 構造 ===&lt;br /&gt;
[[FrontISTR]]&lt;br /&gt;
&lt;br /&gt;
[[Salome-Meca]]&lt;br /&gt;
&lt;br /&gt;
[[CalculiX]]&lt;br /&gt;
&lt;br /&gt;
[[PrePoMax]]&lt;br /&gt;
&lt;br /&gt;
[[StressRefine]]&lt;br /&gt;
&lt;br /&gt;
[[FEBio]]&lt;br /&gt;
&lt;br /&gt;
[[PlantFEM]]&lt;br /&gt;
&lt;br /&gt;
[[OpenRadioss]]&lt;br /&gt;
&lt;br /&gt;
=== MBD(モデルベースデザイン) ===&lt;br /&gt;
[[OpenModelica]]&lt;br /&gt;
&lt;br /&gt;
=== 機構解析 ===&lt;br /&gt;
&lt;br /&gt;
[[MBDyn]]&lt;br /&gt;
&lt;br /&gt;
[[EXUDYN]]&lt;br /&gt;
&lt;br /&gt;
=== 有限要素法ライブラリ・ツールセット ===&lt;br /&gt;
&lt;br /&gt;
[[GetFEM]]&lt;br /&gt;
&lt;br /&gt;
[[DelFEM2]]&lt;br /&gt;
&lt;br /&gt;
[[sparselizard]]&lt;br /&gt;
&lt;br /&gt;
[[ivyFEM]]&lt;br /&gt;
&lt;br /&gt;
=== マルチフィジックス ===&lt;br /&gt;
[[Elmer]]&lt;br /&gt;
&lt;br /&gt;
=== 粒子法 ===&lt;br /&gt;
[[DualSPHygics]]&lt;br /&gt;
&lt;br /&gt;
[[OpenMPS]]&lt;br /&gt;
&lt;br /&gt;
=== 格子ボルツマン法 ===&lt;br /&gt;
[[Palabos]]&lt;br /&gt;
&lt;br /&gt;
[[waLBerla]]&lt;br /&gt;
&lt;br /&gt;
=== 偏微分方程式ソルバ ===&lt;br /&gt;
&lt;br /&gt;
[[FEniCSx]]&lt;br /&gt;
&lt;br /&gt;
=== 可視化 ===&lt;br /&gt;
[[Paraview]]&lt;br /&gt;
&lt;br /&gt;
[[PyVista]]&lt;br /&gt;
&lt;br /&gt;
[[Mayavi]]&lt;br /&gt;
&lt;br /&gt;
=== 最適化 ===&lt;br /&gt;
[[OpenMDAO]]&lt;br /&gt;
&lt;br /&gt;
[[OpenDA]]&lt;br /&gt;
&lt;br /&gt;
[[Dakota]]&lt;br /&gt;
&lt;br /&gt;
=== クラウド ===&lt;br /&gt;
&lt;br /&gt;
[[SimScale]]&lt;br /&gt;
&lt;br /&gt;
=== ベンチマーク ===&lt;br /&gt;
[https://www.cenav.org/ 計算工学ナビ]&lt;br /&gt;
&lt;br /&gt;
[https://www.en.build.aau.dk/web/cfd-benchmarks CFD benchmarks]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/luo-yining/CFDBench CFDBench]&lt;br /&gt;
&lt;br /&gt;
=== V&amp;amp;V ===&lt;br /&gt;
[https://feaber.readthedocs.io/ja/latest/ FEABeR]&lt;br /&gt;
&lt;br /&gt;
[https://www.grc.nasa.gov/www/wind/valid/tutorial/overview.html Overview of CFD Verification and Validation]&lt;br /&gt;
&lt;br /&gt;
=== プログラミング ===&lt;br /&gt;
[[Python]]&lt;br /&gt;
&lt;br /&gt;
[[C++]]&lt;br /&gt;
&lt;br /&gt;
=== その他 ===&lt;br /&gt;
&lt;br /&gt;
[[物性データベース]]&lt;br /&gt;
&lt;br /&gt;
[[Blender]]&lt;br /&gt;
&lt;br /&gt;
[[Maxima]]&lt;br /&gt;
&lt;br /&gt;
[[REDUCE]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2023/opencae オープンCAE Advent Calendar 2023]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2022/opencae オープンCAE Advent Calendar 2022]&lt;br /&gt;
&lt;br /&gt;
[https://adventar.org/calendars/6423 オープンCAE Advent Calendar 2021]&lt;br /&gt;
&lt;br /&gt;
[https://adventar.org/calendars/5192 オープンCAE Advent Calendar 2020]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2019/opencae-ac2019 オープンCAE Advent Calendar 2019]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2018/opencae-ac2018 オープンCAE Advent Calendar 2018]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2017/openfoam OpenFOAM Advent Calendar 2017]&lt;br /&gt;
&lt;br /&gt;
=== オープンCAE ===&lt;br /&gt;
[[オープンCAEの系譜]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/channel/UCuffpM6BjZWZ4AEDFiQexEg オープンCAE動画チャンネル]&lt;br /&gt;
&lt;br /&gt;
[[各地の勉強会]]&lt;br /&gt;
&lt;br /&gt;
[[勝手にブックレビュー]]&lt;br /&gt;
&lt;br /&gt;
[[オープンCAE名言集]]&lt;br /&gt;
&lt;br /&gt;
=== Wikiについて ===&lt;br /&gt;
&lt;br /&gt;
本wikiはオープンCAE学会が管理しています。&lt;br /&gt;
オープンCAE学会については[http://www.opencae.or.jp 公式サイト]を参照してください。&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2412_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=865</id>
		<title>OpenFOAM v2412 リリースノート</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2412_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=865"/>
		<updated>2024-12-28T04:04:09Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: All words covert to japanese&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ESI OpenCFD Release OpenFOAM® v2412 ==&lt;br /&gt;
OpenCFDは、OpenFOAM® v2412の2024年12月リリースを発表いたします。 このリリースは、コードの多くの領域にわたってOpenFOAM-v2406の機能を拡張しています。 この新機能は、OpenCFDの顧客からのスポンサーによる開発、内部資金による開発、OpenFOAMコミュニティからの機能や変更の統合を表しています。&lt;br /&gt;
&lt;br /&gt;
OpenFOAMはOpenCFDによってGPLライセンスの下で配布されています。 様々なLinuxや他のPOSIXシステムでのコンパイルに適したソースコードパッケージに加え、このリリースにはコンパイル済みのバイナリパッケージもあります。&lt;br /&gt;
&lt;br /&gt;
* Ubuntu Linux: Ubuntu 用パッケージインストール (近日公開予定) &lt;br /&gt;
*openSUSE Linux: パッケージインストール (近日公開予定) &lt;br /&gt;
*Redhat Linux variants: パッケージインストール (近日公開予定) &lt;br /&gt;
*apptainer イメージ: dockerhub から入手可能 (近日公開予定)&lt;br /&gt;
&lt;br /&gt;
Windowsユーザーには、コンパイル済みパッケージについて3つの選択肢がある（詳細）：&lt;br /&gt;
&lt;br /&gt;
* Linux用Windowsサブシステムの使用（Ubuntu、openSUSEなどがベース）&lt;br /&gt;
* クロスコンパイルによるネイティブ実行可能ファイル&lt;br /&gt;
* ドッカーのインストール&lt;br /&gt;
&lt;br /&gt;
OpenFOAMのapptainerサポートは、事前に組み立てられたイメージではなく、記述ファイルによって提供されます：&lt;br /&gt;
&lt;br /&gt;
* パッケージ/コンテナを確認する&lt;br /&gt;
&lt;br /&gt;
Mac OSXユーザーには、ソースからコンパイルするか、コンパイル済みパッケージのDockerコンテナを使用するオプションがある（詳細はこちら）。&lt;br /&gt;
&lt;br /&gt;
== アップグレード ==&lt;br /&gt;
&lt;br /&gt;
* ユーザー向けのヘルプは、ユーザー・アップグレード・ガイドに記載されています。&lt;br /&gt;
* 開発者向けのヘルプは、開発者向けアップグレードガイドに記載されています。&lt;br /&gt;
&lt;br /&gt;
== 前処理 ==&lt;br /&gt;
&lt;br /&gt;
=== createPatchユーティリティの改良 ===&lt;br /&gt;
createPatchユーティリティが拡張され、例えばcyclicACMIの作成時に重複した境界面を作成できるようになりました。 これは、外部生成メッシュ間のcyclicACMI接続を作成するために使用できます。&lt;br /&gt;
&lt;br /&gt;
system/createPatchDictのサンプル：&lt;br /&gt;
 &amp;lt;code&amp;gt;// Patches to create.&lt;br /&gt;
 patches&lt;br /&gt;
 (&lt;br /&gt;
     {&lt;br /&gt;
         //- Master side patch&lt;br /&gt;
         name            central_inlet_couple;&lt;br /&gt;
         patchInfo&lt;br /&gt;
         {&lt;br /&gt;
             type            cyclicACMI;&lt;br /&gt;
             nonOverlapPatch central_inlet_blockage;&lt;br /&gt;
             neighbourPatch  inlet_central_couple;&lt;br /&gt;
         }&lt;br /&gt;
         constructFrom patches;&lt;br /&gt;
         patches (central_inlet);&lt;br /&gt;
     }&lt;br /&gt;
     {&lt;br /&gt;
         //- Blockage&lt;br /&gt;
         name            central_inlet_blockage;&lt;br /&gt;
         patchInfo&lt;br /&gt;
         {&lt;br /&gt;
             type            wall;&lt;br /&gt;
         }&lt;br /&gt;
         constructFrom patches;&lt;br /&gt;
         patches (central_inlet);&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     {&lt;br /&gt;
         //- Slave side patch&lt;br /&gt;
         name            inlet_central_couple;&lt;br /&gt;
         patchInfo&lt;br /&gt;
         {&lt;br /&gt;
             type            cyclicACMI;&lt;br /&gt;
             nonOverlapPatch inlet_central_blockage;&lt;br /&gt;
             neighbourPatch  central_inlet_couple;&lt;br /&gt;
         }&lt;br /&gt;
         constructFrom patches;&lt;br /&gt;
         patches (inlet_couple);&lt;br /&gt;
     }&lt;br /&gt;
     {&lt;br /&gt;
         //- Blockage&lt;br /&gt;
         name            inlet_central_blockage;&lt;br /&gt;
         patchInfo&lt;br /&gt;
         {&lt;br /&gt;
             type            wall;&lt;br /&gt;
         }&lt;br /&gt;
         constructFrom patches;&lt;br /&gt;
         patches (inlet_couple);&lt;br /&gt;
     }&lt;br /&gt;
 );&amp;lt;/code&amp;gt;&lt;br /&gt;
注意：createPatchを実行する前に、作成するcyclicACMIパッチが存在してはならない。&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/createPatch/TJunctionSwitching_createPatch&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/utilities/mesh/manipulation/createPatch&lt;br /&gt;
* $FOAM_SRC/utilities/mesh/manipulation/mergeMeshes&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* Merge request #702&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMeshの改良：スナップの前にレイヤーをバッファリングする。 ===&lt;br /&gt;
スナップ前にメッシュにバッファレイヤーを追加できるようになり、スナップアルゴリズムをユーザーが選択できるようになりました。&lt;br /&gt;
&lt;br /&gt;
snappyHexMeshDictの新しいトップレベル・エントリーを使用して、バッファー・レイヤーの追加とメッシュ・モーション機能の使用を選択できるようになりました：&lt;br /&gt;
 &amp;lt;code&amp;gt;// Type of mesh generation:&lt;br /&gt;
 //  - castellated (default)&lt;br /&gt;
 //  - castellatedBufferLayer&lt;br /&gt;
 type            castellatedBufferLayer;&amp;lt;/code&amp;gt;&lt;br /&gt;
バッファ層の追加はすべてのメッシュ化されたパッチに適用されます。オプションで、addBufferLayersキーワードを使用してサーフェスごとにオーバーライドできます：&lt;br /&gt;
 &amp;lt;code&amp;gt;refinementSurfaces&lt;br /&gt;
 {&lt;br /&gt;
     sphere&lt;br /&gt;
     {&lt;br /&gt;
         // Surface-wise min and max refinement level&lt;br /&gt;
         level (1 1);&lt;br /&gt;
         // Disable buffer layers&lt;br /&gt;
         addBufferLayers false;&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
スナップ時に使用するメッシュ・モーション・ソルバの選択：&lt;br /&gt;
 &amp;lt;code&amp;gt;snapControls&lt;br /&gt;
 {&lt;br /&gt;
   ..&lt;br /&gt;
   solver  displacementPointSmoothing;&lt;br /&gt;
   displacementPointSmoothingCoeffs&lt;br /&gt;
   {&lt;br /&gt;
       // Use laplacian to untangle problem areas&lt;br /&gt;
       pointSmoother           laplacian;&lt;br /&gt;
       nPointSmootherIter      10;&lt;br /&gt;
   }&amp;lt;/code&amp;gt;&lt;br /&gt;
下の画像は、回転したボックスの外側に追加されたバッファー・セルの単層で、セルはセル・インデックスに従って色分けされている：&lt;br /&gt;
&lt;br /&gt;
2つ目の例は、バッファレイヤーを追加することで、内側と外側の両方の領域を維持しながら、フェイスゾーンにスナップするのに役立つことを示しています。 ここでは、セルは非直交性に従って色付けされている：&lt;br /&gt;
&lt;br /&gt;
バッファレイヤーは（まだ）フィーチャーのエッジを考慮していないことに注意してください。&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/snappyHexMesh/rotated_block Meshing the outside of a rotated cube.&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/snappyHexMesh/sphere_multiRegion Meshing the inside and outside of a sphere.&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/utilities/mesh/generation/snappyHexMesh&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* Merge request #715&lt;br /&gt;
&lt;br /&gt;
== 境界条件 ==&lt;br /&gt;
&lt;br /&gt;
=== pointMeshの境界処理の改善 ===&lt;br /&gt;
pointMeshはパッチのリスト（オプション）を持つようになった。 通常の動作は、pointMeshはボリュームの'poly'メッシュと同じパッチのセットを使い、'poly'パッチのポイントで操作します。&lt;br /&gt;
&lt;br /&gt;
ポイントパッチ条件をpolyMesh/pointMesh/boundaryファイルで指定できるようになり、フィーチャーのエッジ、ポイント、内部ポイントにも制約を適用できるようになりました。&lt;br /&gt;
&lt;br /&gt;
チュートリアルのmesh/blockMesh/sphere7は、これを使用して球状のブロックメッシュを立方体に戻す方法を示しています。 &lt;br /&gt;
&lt;br /&gt;
このチュートリアルでは、プラグインのポイントスムーサーを使う、新しいdisplacementPointSmoothingモーションソルバーの使用例も紹介します：&lt;br /&gt;
&lt;br /&gt;
* laplacian : 近隣点の平均位置&lt;br /&gt;
* geometricElementTransform : 最も直交する形状に移動する。&lt;br /&gt;
&lt;br /&gt;
注&lt;br /&gt;
&lt;br /&gt;
* 点の移動中に点法線が更新されない&lt;br /&gt;
* ポイントモーションでは、周期的なパッチは現在正しく処理されていません。&lt;br /&gt;
* これらの追加pointPatchは以下によってサポートされる：&lt;br /&gt;
** moveDynamicMesh, subsetMesh&lt;br /&gt;
** decomposePar, reconstructPar, redistributePar&lt;br /&gt;
** some mesh motion solvers&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/blockMesh/pipe&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/blockMesh/sphere7&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/moveDynamicMesh/badMove&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/moveDynamicMesh/bendJunction&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/moveDynamicMesh/faceZoneBlock&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/meshes/pointMesh/pointBoundaryMesh/pointBoundaryMesh.C&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* Merge request #715&lt;br /&gt;
&lt;br /&gt;
=== 新しいポイントパッチ機能 ===&lt;br /&gt;
&lt;br /&gt;
* topoSet に patchToPoint が追加されました : pointPatch のすべての点を選択します (patchToFace と faceToPoint を使って polyPatch の点を取得します)。&lt;br /&gt;
* 新しい点境界条件：edgeSlipとpointAttraction（新しいpointMesh境界条件のチュートリアルで使用されます。）&lt;br /&gt;
* symmetryPolyPatch : 平均方位を計算する際に、ゼロサイズの面を無視する。 これは、後の押し出しのために厚さゼロのレイヤーを追加できるようにするための便利な機能です。&lt;br /&gt;
&lt;br /&gt;
== 数値 ==&lt;br /&gt;
&lt;br /&gt;
=== 新しい融合離散化 ===&lt;br /&gt;
新しい融合離散化手法は、中間補間ステップを回避し、面ベースの積分と融合する。 機能は通常の離散化と同等です：&lt;br /&gt;
&lt;br /&gt;
* gradSchemes : fusedGauss&lt;br /&gt;
* divSchemes : fusedGauss&lt;br /&gt;
* laplacianSchemes : fusedGauss, fusedLeastSquares&lt;br /&gt;
&lt;br /&gt;
これらの方式はメモリ操作を回避するため、パッチ数が多い場合や、GPUがCPUのデータにアクセスするなど、メモリアクセスが遅いノードに有利である。 logs-gauss'がデフォルトの動作、'logs-fused'がドロップイン置換融合スキームを示しています：&lt;br /&gt;
&lt;br /&gt;
これは予備的な作業であり、明示的な操作しか考慮していないこと、また操作の順序が異なるために切り捨て誤差が異なることに注意されたい。&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/ncompressible/simpleFoam/pitzDaily_fused&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/src/fusedDiscretisation&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* MR!712&lt;br /&gt;
&lt;br /&gt;
=== 新しいGAMGアグロメレーション・キャッシング ===&lt;br /&gt;
メッシュを動かすケースでは、時間ステップごとに（あるいは圧力補正ごとに）自動的に凝集を再構築します。 しかし、ほとんどのメッシュモーションのケースでは、GAMGアグロメレーションテーブルは、再作成が必要になる前に、いくつかの反復のために保持することができます。 ソリッドボディモーションの場合、凝集ロジックは行列係数にのみ依存するため、テーブルを更新する必要はありません。 キャッシュは新しい updateInterval エントリで有効になります。 これは、ソリッドボディシミュレーションでは非常に大きな数値になります。一般的なメッシュモーションでは、予想されるメッシュクーラント数に基づいて設定する必要があります。&lt;br /&gt;
 &amp;lt;code&amp;gt;p&lt;br /&gt;
 {&lt;br /&gt;
     solver              GAMG;&lt;br /&gt;
     ..&lt;br /&gt;
     cacheAgglomeration  yes;&lt;br /&gt;
     updateInterval      100000;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
凝集に関する詳細なフィードバックを得るには、system/controlDictのデバッグ・スイッチを有効にしてください。&lt;br /&gt;
 &amp;lt;code&amp;gt;DebugSwitches&lt;br /&gt;
 {&lt;br /&gt;
     // Print agglomeration&lt;br /&gt;
     GAMGAgglomeration   1;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
faceAreaWeightの最適化&lt;br /&gt;
&lt;br /&gt;
デフォルトの凝集法は、セルを結ぶ面重みの大きさに基づく「セル」の一対一の組み合わせを採用している。 現在、これは軸合わせされたメッシュ上の凝集境界のジッターを避けるために摂動された面面積ベクトルから派生した面重みを使用しています。&lt;br /&gt;
&lt;br /&gt;
updateIntervalが1でない場合は、ガウシアンタイプの離散化との整合性を高めるために、スケーリングされていない、摂動されていない顔の面積の大きさを用いて重みが計算される。 例えば、simpleFoamを10回繰り返したincompressible/pisoFoam/SLES/motorBikeのチュートリアルでは、平均約10％のサイクル削減を示しました：&lt;br /&gt;
&lt;br /&gt;
代数的凝集はupdateIntervalで実行できることに注意。&lt;br /&gt;
&lt;br /&gt;
* それはcyclicA(C)MIを更新せず、粗いレベルでは古いステンシルを使用するため、補間に失敗する。&lt;br /&gt;
* それは、シミュレーション中に変化する行列係数に基づいているため、固体の運動中であっても一定ではない。&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/pimpleFoam/RAS/propeller&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/finiteVolume/fvMatrices/solvers/GAMGSymSolver/GAMGAgglomerations/faceAreaPairGAMGAgglomeration&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* Merge request #707&lt;br /&gt;
&lt;br /&gt;
=== lduMatrix, lduAddressingの改善 ===&lt;br /&gt;
スカラー行列クラス lduMatrix が拡張され、セルベースのアルゴリズムがより使いやすくなりました。 アドレス指定 lduAddressing には、下位アドレス指定を返す lowerCSRAddr アクセサが追加され、loSortAddressing を使った追加的なインダイレクトを避けることができます：&lt;br /&gt;
 &amp;lt;code&amp;gt;const labelUList&amp;amp; lduAddressing::lowerCSRAddr() const&amp;lt;/code&amp;gt;&lt;br /&gt;
これは、lowerAddr()アドレッシングからオンザフライで構築される。&lt;br /&gt;
&lt;br /&gt;
さらに、この行列には、対応する lower() 係数の並べ替えを返す lowerCSR() アクセサが追加された：&lt;br /&gt;
 &amp;lt;code&amp;gt;const scalarField&amp;amp; lduMatrix::lowerCSR() const&amp;lt;/code&amp;gt;&lt;br /&gt;
アドレス指定が可能かどうかは、hasLowerCSR()関数で確認できる。&lt;br /&gt;
&lt;br /&gt;
使用例は lduMatrix::Amul ルーチンの中にあります：&lt;br /&gt;
 &amp;lt;code&amp;gt;if (hasLowerCSR())&lt;br /&gt;
 {&lt;br /&gt;
     // Note: lowerCSR constructed from lower if available, upper otherwise&lt;br /&gt;
     //       so is handling symmetric()&lt;br /&gt;
     const scalar* const __restrict__ lowercsrPtr = lowerCSR().begin();&lt;br /&gt;
 &lt;br /&gt;
     for (label cell=0; cell&amp;lt;nCells; cell++)&lt;br /&gt;
     {&lt;br /&gt;
         scalar&amp;amp; val = ApsiPtr[cell];&lt;br /&gt;
 &lt;br /&gt;
         val = diagPtr[cell]*psiPtr[cell];&lt;br /&gt;
 &lt;br /&gt;
         // Add lower contributions&lt;br /&gt;
         {&lt;br /&gt;
             const label start = loStartPtr[cell];&lt;br /&gt;
             const label end = loStartPtr[cell+1];&lt;br /&gt;
 &lt;br /&gt;
             for (label i = start; i &amp;lt; end; i++)&lt;br /&gt;
             {&lt;br /&gt;
                 const label nbrCell = lcsrPtr[i];&lt;br /&gt;
                 val += lowercsrPtr[i]*psiPtr[nbrCell];&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
         // Add upper contributions&lt;br /&gt;
         {&lt;br /&gt;
             const label start = oStartPtr[cell];&lt;br /&gt;
             const label end = oStartPtr[cell+1];&lt;br /&gt;
 &lt;br /&gt;
             for (label i = start; i &amp;lt; end; i++)&lt;br /&gt;
             {&lt;br /&gt;
                 const label nbrCell = uPtr[i];&lt;br /&gt;
                 val += upperPtr[i]*psiPtr[nbrCell];&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.H&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.H&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixATmul.C&lt;br /&gt;
&lt;br /&gt;
=== 壁との距離の改善 ===&lt;br /&gt;
乱流壁関数などで使用されている壁面近傍距離フィールドが壁面に対して更新され、複数の壁面パッチに面を持つセルの挙動が変更されました。 最近接距離は、セル中心から局所的な壁面、または任意の局所的なエッジまたは点に接続された面までの最小距離として計算されます。 &lt;br /&gt;
&lt;br /&gt;
* これは並列一貫性がない&lt;br /&gt;
* これは一面しか見ない&lt;br /&gt;
&lt;br /&gt;
より一貫した挙動を得るためには、正確な壁面距離法を採用すべきである。&lt;br /&gt;
&lt;br /&gt;
以前の動作（OpenFOAM v2406 以前）は、etc/controlDict またはローカルの system/controlDict の useCombinedWallPatch 情報スイッチを無効にすることで得られます：&lt;br /&gt;
 &amp;lt;code&amp;gt;OptimisationSwitches&lt;br /&gt;
 {&lt;br /&gt;
     useCombinedWallPatch    0;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/meshTools/cellDist/cellDistFuncs.C&lt;br /&gt;
* $FOAM_SRC/finiteVolume/fvMesh/wallDist/nearWallDist/nearWallDist.C&lt;br /&gt;
* $FOAM_SRC/finiteVolume/fvMesh/wallDist/wallDistAddressing/wallDistAddressing.C&lt;br /&gt;
* $FOAM_SRC/meshTools/cellDist/patchWave/patchDataWave.C&lt;br /&gt;
* $FOAM_SRC/meshTools/cellDist/patchWave/patchWave.C&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* Merge request #700&lt;br /&gt;
&lt;br /&gt;
問題&lt;br /&gt;
&lt;br /&gt;
* Issue #3215&lt;br /&gt;
&lt;br /&gt;
=== 地域貢献： アドジョイント最適化の改善 ===&lt;br /&gt;
OpenFOAM v2412では、アジョイント・ライブラリにいくつかの機能変更が加えられました。 トポロジー最適化の設計変数の初期値を0/alphaフィールドから読み込めるようになり、topoSet/setFieldsユーティリティで簡単に設定できるようになりました。 以前は、0/uniform/topOVarsを通してのみ可能でしたが、これは操作が難しくなっています。&lt;br /&gt;
&lt;br /&gt;
ISQPの数学的最適化問題に追加され、実現可能性を保証するためにMMAに追加された項の乗数（'c'と命名）は、関数1で与えられるようになり、最適化ループ全体で操作できるようになりました。 典型的な例としては、実現可能性よりも最適性を重視するために、最初の数サイクルの最適化では小さな値に設定し、徐々に大きくしていきます。&lt;br /&gt;
&lt;br /&gt;
ISQPで近似ヘシアンの減衰を無効にするオプションを追加。 一般的なケースでは、これは避けるべきですが、いくつかのフリンジケースではアルゴリズムを加速させることができます。&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x-init&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/optimisation/adjointOptimisation&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* Merge request #710&lt;br /&gt;
&lt;br /&gt;
=== 新ゾーンブレンド・スキーム ===&lt;br /&gt;
新しいzoneBlendedスキームにより、ユーザーはフェイスゾーンごとに差分スキームを適用できる。 スキームは辞書形式で設定される：&lt;br /&gt;
 &amp;lt;code&amp;gt;divSchemes&lt;br /&gt;
 {&lt;br /&gt;
     .&lt;br /&gt;
     .&lt;br /&gt;
     div(phi,U)      Gauss zoneBlended&lt;br /&gt;
     {&lt;br /&gt;
         default         defaultScheme;&lt;br /&gt;
         faceZone1       scheme1;&lt;br /&gt;
         faceZone2       scheme2;&lt;br /&gt;
         ...&lt;br /&gt;
         faceZoneN       schemeN;&lt;br /&gt;
     }&lt;br /&gt;
     .&lt;br /&gt;
     .&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
デフォルトのエントリーは背景スキームを指定します。追加のスキームをフェイスゾーンごとに設定できます。例えば、スキーム1はフェイスゾーン1に適用され、スキーム2はフェイスゾーン2に適用されます。&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/finiteVolume/interpolation/surfaceInterpolation/schemes/zoneBlended&lt;br /&gt;
&lt;br /&gt;
== ソルバーと物理モデル ==&lt;br /&gt;
&lt;br /&gt;
=== 地域貢献： SA-DDES乱流モデルの遮蔽機能の改善 ===&lt;br /&gt;
DDES（Delayed Detached-Eddy Simulation）モデル[1]は、RANS/LESのハイブリッドアプローチであり、RANSによってすべての付着境界層をモデル化し、LESによって大きく分離した流れ領域をモデル化することを目的としています。 付着境界層内部でのLESモードの起動を防止するために、「遮蔽」機能と呼ばれる追加的なセーフガード機能が実装されています。 残念ながら，標準的な定式化[1]は，細かい格子上で崩壊することがあり，壁せん断応力の低下や，流れの早期剥離につながる可能性がある． これらの現象は、文献ではしばしば &amp;quot;モデル化された応力の枯渇 &amp;quot;や &amp;quot;グリッド誘起剥離 &amp;quot;と呼ばれています。 Deck &amp;amp; Renard [2]は最近、よりロバストな挙動を提供しながら、分離したせん断層でのLESへの迅速な切り替えを可能にする、改良された遮蔽関数を提案しました。 この定式化は、SA-DDESモデルの変形であるZDESモード2（2020）乱流モデル用に開発されました。 図は，後縁が分離した NACA4412 翼周りの流れに対 して，改良された遮蔽機能の利点を示しています． 吸込側のグリッドが流れ方向とスパン方向で強くリファインされているため，標準の遮蔽機能が後退し，流れの剥離が早期に発生している． 一方，改良された遮蔽関数は，吸込側の付着境界層領域全体で RANS モードを保持し，NASA コード CFL3D の参照 RANS とよく一致する．&lt;br /&gt;
&lt;br /&gt;
以下の乱流モデリング機能がv2412リリースに含まれています：&lt;br /&gt;
&lt;br /&gt;
* Improved shielding function formulation of Deck &amp;amp; Renard [2], implemented for SpalartAllmarasDDES, activated via the new option “shielding” (keyword “standard” selects the standard function [1], “ZDES2020” selects the improved formulation [2]).&lt;br /&gt;
* An additional option “usefP2” activates a more robust shielding mode for the Deck &amp;amp; Renard formulation (detailed in equation A.9 of [2]).&lt;br /&gt;
&lt;br /&gt;
使用例&lt;br /&gt;
 &amp;lt;code&amp;gt;simulationType LES;&lt;br /&gt;
 LES&lt;br /&gt;
 {&lt;br /&gt;
     LESModel         SpalartAllmarasDDES;&lt;br /&gt;
     SpalartAllmarasDDESCoeffs&lt;br /&gt;
     {&lt;br /&gt;
         // optional keywords for shielding function&lt;br /&gt;
         shielding    ZDES2020;    // default: standard&lt;br /&gt;
         usefP2       false;       // default: false&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     delta            maxDeltaxyz;&lt;br /&gt;
 &lt;br /&gt;
     turbulence       on;&lt;br /&gt;
     printCoeffs      on;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
2]で示された定式化はSAベースのDDESに特化して導き出されたものであるため、改善された遮蔽関数はkOmegaSSTDDESモデルには実装されていないことに注意してください。&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/pimpleFoam/LES/NACA4412&lt;br /&gt;
&lt;br /&gt;
帰属&lt;br /&gt;
&lt;br /&gt;
* The improved shielding function of Deck &amp;amp; Renard (2020) [2] was implemented by Upstream CFD GmbH and integrated into OpenFOAM in collaboration with ESI-UK Ltd with funding by Volkswagen AG.&lt;br /&gt;
&lt;br /&gt;
参考文献&lt;br /&gt;
&lt;br /&gt;
* [1] P. Spalart, S. Deck, M. Shur, K. Squires, M. Strelets, and A. Travin. A new version of detached-eddy simulation, resistant to ambiguous grid densities. Theoretical and Computational Fluid Dynamics, 20(3):181–195, 2006.&lt;br /&gt;
* [2] Deck, S., &amp;amp; Renard, N. (2020). Towards an enhanced protection of attached boundary layers in hybrid RANS/LES methods. Journal of Computational Physics, vol. 400, pp. 108970, 2020.&lt;br /&gt;
&lt;br /&gt;
=== 改良されたラグランジュ射出モデル：コーンノズル・インジェクション（coneNozzleInjection ===&lt;br /&gt;
このリリースでは、coneNozzleInjectionモデルに2つのマイナーな改良が加えられました：&lt;br /&gt;
&lt;br /&gt;
* 粒子をディスク全体に角度間隔で均一に分布させる新しい射出方法；&lt;br /&gt;
* 粒子噴射にインジェクターの推定速度を含める。 静的インジェクタの入出力動作に変更はありませんが、移動インジェクタから噴射される粒子の速度にインジェクタの速度が含まれるようになりました。&lt;br /&gt;
&lt;br /&gt;
最小限の使用例は以下の通り：&lt;br /&gt;
 &amp;lt;code&amp;gt;injectionModels&lt;br /&gt;
 {&lt;br /&gt;
     model1&lt;br /&gt;
     {&lt;br /&gt;
         type    coneNozzleInjection;&lt;br /&gt;
 &lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
         // The new injection method: discSegments&lt;br /&gt;
         injectionMethod         discSegments;&lt;br /&gt;
         nInjectors              10;&lt;br /&gt;
         initialInjectorDir      (1 0 0);&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.H&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* Merge request #719&lt;br /&gt;
&lt;br /&gt;
=== 改良されたソリッドボディモーション機能：tabulated6DoFMotion ===&lt;br /&gt;
表6DoFMotionモデルに線形補間オプションが追加されました。 最小限の使用例を以下に示します：&lt;br /&gt;
 &amp;lt;code&amp;gt;solidBodyMotionFunction tabulated6DoFMotion;&lt;br /&gt;
 &lt;br /&gt;
 interpolationScheme     linear;  // spline;&amp;lt;/code&amp;gt;&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/meshTools/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.H&lt;br /&gt;
&lt;br /&gt;
=== 新しい有限領域のフレームワーク： 膜分離モデル ===&lt;br /&gt;
有限面積ベースのフィルム曲率分離モデルが更新され、シャープエッジ用の新しいフィルム分離モデルが追加された。 これらの更新により、さまざまな幾何学的条件や流動条件下での膜分離予測の精度と柔軟性が向上しました。&lt;br /&gt;
&lt;br /&gt;
主な変更点と追加点&lt;br /&gt;
&lt;br /&gt;
* オーウェン-ライリーモデル：&lt;br /&gt;
** 既存のcurvatureSeparationモデルは、Owen &amp;amp; Ryley (1983)の研究に基づき、OwenRyleyModelとして再実装された。 このモデルは次のように仮定しています：&lt;br /&gt;
*** フィルムが表面から剥がれると、すぐに細かい霧状の液滴になる。 その結果、液体が凝集塊として離脱するシナリオを正確に表現できない可能性がある。&lt;br /&gt;
*** フィルムは一定の半径を持つ丸みを帯びたコーナーの周囲を流れるため、曲率が明確でない鋭角のコーナーでは適用が制限される可能性がある。&lt;br /&gt;
*** 膜厚は1e-4 mより薄く、粘性効果と表面擾乱は無視される。&lt;br /&gt;
*** 均一な膜速度と膜厚。&lt;br /&gt;
*** 分離基準は明示的に定式化されるのではなく、モデルの仮定に基づいて推測される。&lt;br /&gt;
* シャープエッジのための新しいフィルム分離モデル：&lt;br /&gt;
** 新しいモデルFriedrichModelを導入し、シャープエッジでの膜分離特性を計算し、完全膜分離と部分膜分離の両方のシナリオをカバーする。 このモデルは、Friedrichら（2008）とZhangら（2018）の研究に基づいている：&lt;br /&gt;
*** Friedrichら（2008）：&lt;br /&gt;
**** 剥離点における制御体積内の力の平衡に根ざした剥離基準を開発。&lt;br /&gt;
**** 最大膜厚を1e-4 mと仮定。&lt;br /&gt;
**** 表面張力、重力、フィルムの慣性を考慮する。&lt;br /&gt;
**** 早期破裂を予測することはできるが、比較的信頼できることが知られている。&lt;br /&gt;
**** ANSYS Forte 18.2 に実装されている分離メソッドとして機能します。&lt;br /&gt;
*** Zhangら（2018）：&lt;br /&gt;
**** 質量分率基準を導入することで、Friedrichらのモデルを強化した。 細胞内の膜全体が同時に剥離すると仮定するモデルとは異なり、Zhangらのアプローチは、これらの基準に基づいて膜の一部のみを剥離する。 これにより、フィルムが実際にどの程度剥離するかについて、より現実的な予測が可能になった。&lt;br /&gt;
&lt;br /&gt;
包括的な直列および並列テストケースは、ロバストなコーナーおよび分離同定を確実にするために実施され、流れ方向に対して様々な形状や向きの鋭角エッジを持つケース、複数の空間分解能および並列化構成を含む。&lt;br /&gt;
&lt;br /&gt;
その結果、ユーザーは、メッシュの複雑さや計算設定に関係なく、膜分離現象をシミュレーションする際の一貫性と信頼性の向上を期待することができます。&lt;br /&gt;
&lt;br /&gt;
最小限の使用例は以下の通り：&lt;br /&gt;
 &amp;lt;code&amp;gt;injectionModels&lt;br /&gt;
 {&lt;br /&gt;
     filmSeparation&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 filmSeparationCoeffs&lt;br /&gt;
 {&lt;br /&gt;
     model              OwenRyley;&lt;br /&gt;
     definedPatchRadii  0;&lt;br /&gt;
     minInvR1           0;&lt;br /&gt;
     deltaByR1Min       0;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/filmSeparation/filmSeparationModels&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* Merge request #714&lt;br /&gt;
&lt;br /&gt;
=== simpleFoamの改良：新しいdynamicMeshのサポート ===&lt;br /&gt;
simpleFoamはpimpleFoamと同様にdynamicFvMeshをサポートするようになりました。 constant/dynamicMeshDictがあればそれを読み込み、繰り返しごとにupdate()ルーチンを呼び出します。 これにより、例えば、動的なメッシュのリファインメント/アンリファインメントを用いた定常シミュレーションが可能になります。&lt;br /&gt;
&lt;br /&gt;
==== 詳細情報 ====&lt;br /&gt;
&lt;br /&gt;
* Issue #3269&lt;br /&gt;
&lt;br /&gt;
== 後処理 ==&lt;br /&gt;
&lt;br /&gt;
=== 新しいレポート作成 ===&lt;br /&gt;
foamReport関数オブジェクトは、OpenFOAMの実行データを収集するためのテンプレートベースのテキスト置換システムを提供します。 ユーザーが提供するテンプレートファイルは、マークダウン(.md)、ウェブ(.html)、ラテックス(.tex)などのプレーンテキストファイルの形式をとることができます。 ダブルハンドル構文{{ENTRY}}を使用して提供された項目は置換されます（大文字と小文字は区別されません）。 OF_で始まる一般的な組み込みエントリのセットが提供されます。&lt;br /&gt;
&lt;br /&gt;
* OF_HOST: ホストマシン名&lt;br /&gt;
* OF_CASE_NAME: ケース名&lt;br /&gt;
* OF_API: OpenFOAM APIレベル&lt;br /&gt;
* OF_DATE_START: ジョブ開始日&lt;br /&gt;
* OF_CASE_PATH: ケースへのファイルパス&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
組み込みキーとユーザー提供キーの完全なセットは、debugKeysエントリーを使用して書き込むことができる。 ユーザー定義の置換は辞書形式でリストされ、置換モデルには以下が含まれる：&lt;br /&gt;
&lt;br /&gt;
* fileRegEx : ファイルからの正規表現&lt;br /&gt;
* functionObjectValue : 関数オブジェクトの結果を取り出す&lt;br /&gt;
* dictionaryValue : 辞書からの値 - ファイルベースまたはレジストリ検索から&lt;br /&gt;
* environmentVariable : キーワードを環境変数に置き換える&lt;br /&gt;
* userValue : キーワードをユーザが指定した文字列に置き換える：&lt;br /&gt;
&lt;br /&gt;
マークダウン・テンプレートに基づく使用例：&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;code&amp;gt;foamReport1&lt;br /&gt;
 {&lt;br /&gt;
     // Mandatory entries (unmodifiable)&lt;br /&gt;
     type            foamReport;&lt;br /&gt;
     libs            (utilityFunctionObjects);&lt;br /&gt;
 &lt;br /&gt;
     template        &amp;quot;/myReportTemplate.md&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
     substitutions&lt;br /&gt;
     {&lt;br /&gt;
         divSchemes1&lt;br /&gt;
         {&lt;br /&gt;
             type        dictionaryValue;&lt;br /&gt;
             object      fvSchemes;&lt;br /&gt;
 &lt;br /&gt;
             entries&lt;br /&gt;
             {&lt;br /&gt;
                 divSchemes      &amp;quot;divSchemes&amp;quot;;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
         fvSolution1&lt;br /&gt;
         {&lt;br /&gt;
             type        dictionaryValue;&lt;br /&gt;
             path        &amp;quot;/fvSolution&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
             entries&lt;br /&gt;
             {&lt;br /&gt;
                 solver_p        &amp;quot;solvers/p/solver&amp;quot;;&lt;br /&gt;
                 solver_p_tol    &amp;quot;solvers/p/tolerance&amp;quot;;&lt;br /&gt;
                 solver_p_reltol &amp;quot;solvers/p/relTol&amp;quot;;&lt;br /&gt;
                 solver_U        &amp;quot;solvers/U/solver&amp;quot;;&lt;br /&gt;
                 solver_U_tol    &amp;quot;solvers/U/tolerance&amp;quot;;&lt;br /&gt;
                 solver_U_reltol &amp;quot;solvers/U/relTol&amp;quot;;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
         controlDict1&lt;br /&gt;
         {&lt;br /&gt;
             type        dictionaryValue;&lt;br /&gt;
             path        &amp;quot;/controlDict&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
             entries&lt;br /&gt;
             {&lt;br /&gt;
                 initial_deltaT       &amp;quot;deltaT&amp;quot;;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
         continuityErrors&lt;br /&gt;
         {&lt;br /&gt;
             type        functionObjectValue;&lt;br /&gt;
             functionObject continuityError1;&lt;br /&gt;
 &lt;br /&gt;
             entries&lt;br /&gt;
             {&lt;br /&gt;
                 cont_error_local    local;&lt;br /&gt;
                 cont_error_global   global;&lt;br /&gt;
                 cont_error_cumulative cumulative;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     // Optional entries (runtime modifiable)&lt;br /&gt;
 &lt;br /&gt;
     // Inherited entries&lt;br /&gt;
     ...&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
マークダウン・ベースのテンプレート・ファイルの例：&lt;br /&gt;
 &amp;lt;code&amp;gt;# &amp;lt;nowiki&amp;gt;{{OF_EXECUTABLE}}&amp;lt;/nowiki&amp;gt; : &amp;lt;nowiki&amp;gt;{{OF_CASE_NAME}}&amp;lt;/nowiki&amp;gt; tutorial&lt;br /&gt;
 &lt;br /&gt;
 - Case: : &amp;lt;nowiki&amp;gt;{{OF_CASE_PATH}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 - Submission:  &amp;lt;nowiki&amp;gt;{{OF_CLOCK_START}}&amp;lt;/nowiki&amp;gt; on &amp;lt;nowiki&amp;gt;{{OF_DATE_START}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 - Report time:  &amp;lt;nowiki&amp;gt;{{OF_CLOCK_NOW}}&amp;lt;/nowiki&amp;gt; on &amp;lt;nowiki&amp;gt;{{OF_DATE_NOW}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;nowiki&amp;gt;##&amp;lt;/nowiki&amp;gt; Run information&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Property       |&amp;lt;/nowiki&amp;gt; Value              |&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;|----------------|--------------------|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Host           |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_HOST}}&amp;lt;/nowiki&amp;gt;        |&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Processors     |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_NPROCS}}&amp;lt;/nowiki&amp;gt;      |&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Time steps     |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_TIME_INDEX}}&amp;lt;/nowiki&amp;gt;  |&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Initial deltaT |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{initial_deltaT}}&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Current deltaT |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_TIME_DELTAT}}&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Execution time |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{executionTime}}&amp;lt;/nowiki&amp;gt;  |&lt;br /&gt;
 &lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;nowiki&amp;gt;##&amp;lt;/nowiki&amp;gt; OpenFOAM information&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Property       |&amp;lt;/nowiki&amp;gt; Value              |&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;|----------------|--------------------|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Version        |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_VERSION}}&amp;lt;/nowiki&amp;gt;     |&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| API            |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_API}}&amp;lt;/nowiki&amp;gt;         |&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Patch          |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_PATCH}}&amp;lt;/nowiki&amp;gt;       |&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Build          |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_BUILD}}&amp;lt;/nowiki&amp;gt;       |&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Architecture   |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_BUILD_ARCH}}&amp;lt;/nowiki&amp;gt;  |&lt;br /&gt;
 &lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;nowiki&amp;gt;##&amp;lt;/nowiki&amp;gt; Mesh statistics&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Property          |&amp;lt;/nowiki&amp;gt; Value                |&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;|-------------------|----------------------|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Bounds            |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_MESH_BOUNDS_MIN}}&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;{{OF_MESH_BOUNDS_MAX}}&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Number of cells   |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_MESH_NCELLS}}&amp;lt;/nowiki&amp;gt;   |&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Number of faces   |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_MESH_NFACES}}&amp;lt;/nowiki&amp;gt;   |&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Number of points  |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_MESH_NPOINTS}}&amp;lt;/nowiki&amp;gt;  |&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Number of patches |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_MESH_NPATCHES}}&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
 &lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;nowiki&amp;gt;##&amp;lt;/nowiki&amp;gt; Linear solvers&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| Property |&amp;lt;/nowiki&amp;gt; Value          | tolerance(rel)   | Tolerance(abs)      |&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;|----------|----------------|------------------|---------------------|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| p        |&amp;lt;/nowiki&amp;gt; `&amp;lt;nowiki&amp;gt;{{solver_p}}&amp;lt;/nowiki&amp;gt;` | &amp;lt;nowiki&amp;gt;{{solver_p_tol}}&amp;lt;/nowiki&amp;gt; | &amp;lt;nowiki&amp;gt;{{solver_p_reltol}}&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;| U        |&amp;lt;/nowiki&amp;gt; `&amp;lt;nowiki&amp;gt;{{solver_U}}&amp;lt;/nowiki&amp;gt;` | &amp;lt;nowiki&amp;gt;{{solver_u_tol}}&amp;lt;/nowiki&amp;gt; | &amp;lt;nowiki&amp;gt;{{solver_u_reltol}}&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
 &lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;nowiki&amp;gt;##&amp;lt;/nowiki&amp;gt; Numerical scehemes&lt;br /&gt;
 &lt;br /&gt;
 The chosen divergence schemes comprised:&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
  [[利用者:Mmer547|mmer547]] ([[利用者・トーク:Mmer547|トーク]])&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;{{divSchemes}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  [[利用者:Mmer547|mmer547]] ([[利用者・トーク:Mmer547|トーク]])&lt;br /&gt;
 &lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;nowiki&amp;gt;##&amp;lt;/nowiki&amp;gt; Graphs&lt;br /&gt;
 &lt;br /&gt;
 Residuals&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;nowiki&amp;gt;![]({{OF_CASE_PATH}}&amp;lt;/nowiki&amp;gt;/postProcessing/residualGraph1/&amp;lt;nowiki&amp;gt;{{OF_TIME}}&amp;lt;/nowiki&amp;gt;/residualGraph1.svg)&lt;br /&gt;
 &lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;nowiki&amp;gt;##&amp;lt;/nowiki&amp;gt; Results&lt;br /&gt;
 &lt;br /&gt;
 Forces&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;nowiki&amp;gt;![]({{OF_CASE_PATH}}&amp;lt;/nowiki&amp;gt;/postProcessing/forceCoeffsGraph1/&amp;lt;nowiki&amp;gt;{{OF_TIME}}&amp;lt;/nowiki&amp;gt;/forceCoeffsGraph1.svg)&lt;br /&gt;
 &lt;br /&gt;
 ---&amp;lt;/code&amp;gt;&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/utilities/foamReport&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/simpleFoam/motorBike&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* Merge request #716&lt;br /&gt;
&lt;br /&gt;
=== 新しいグラフ生成 ===&lt;br /&gt;
graphFunctionObjectは、ユーザーが関数オブジェクトの結果値のSVGグラフを生成することを可能にします。例えば、進化の残差や、力係数のような削減されたデータを表示します。&lt;br /&gt;
&lt;br /&gt;
最小限の例を以下に示す：&lt;br /&gt;
 &amp;lt;code&amp;gt;// Generate the result values&lt;br /&gt;
 solverInfo1&lt;br /&gt;
 {&lt;br /&gt;
     type            solverInfo;&lt;br /&gt;
     libs            (utilityFunctionObjects);&lt;br /&gt;
     fields          (U p);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 // Describe the graph&lt;br /&gt;
 residualGraph&lt;br /&gt;
 {&lt;br /&gt;
     // Mandatory entries&lt;br /&gt;
     libs            (utilityFunctionObjects);&lt;br /&gt;
 &lt;br /&gt;
     functions&lt;br /&gt;
     {&lt;br /&gt;
         //entry&lt;br /&gt;
         //{&lt;br /&gt;
         //    // Mandatory entries&lt;br /&gt;
         //    object      ;&lt;br /&gt;
         //    entry       ;&lt;br /&gt;
         //&lt;br /&gt;
         //    // Optional entries&lt;br /&gt;
         //    title       ;      // Default: take from dict name&lt;br /&gt;
         //    colour      ; // labels in range 0-255 (255 0 0)&lt;br /&gt;
         //    dashes      ;   // (4 1 1)&lt;br /&gt;
         //}&lt;br /&gt;
         Ux&lt;br /&gt;
         {&lt;br /&gt;
             object      solverInfo1;&lt;br /&gt;
             entry       Ux_initial;&lt;br /&gt;
         }&lt;br /&gt;
         Uy&lt;br /&gt;
         {&lt;br /&gt;
             object      solverInfo1;&lt;br /&gt;
             entry       Uy_initial;&lt;br /&gt;
         }&lt;br /&gt;
         Uz&lt;br /&gt;
         {&lt;br /&gt;
             object      solverInfo1;&lt;br /&gt;
             entry       Uz_initial;&lt;br /&gt;
         }&lt;br /&gt;
         p&lt;br /&gt;
         {&lt;br /&gt;
             object      solverInfo1;&lt;br /&gt;
             entry       p_initial;&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     // Optional entries&lt;br /&gt;
     //xMin            ;&lt;br /&gt;
     //xMax            ;&lt;br /&gt;
     //yMin            ;&lt;br /&gt;
     //yMax            ;&lt;br /&gt;
     //xlabel          ;  // &amp;quot;Iteration&amp;quot;;&lt;br /&gt;
     //ylabel          ;  // &amp;quot;log10(Initial residual)&amp;quot;;&lt;br /&gt;
     //width           ;&lt;br /&gt;
     //height          ;&lt;br /&gt;
     //strokeWidth     ;&lt;br /&gt;
     //logScaleX       ;&lt;br /&gt;
     //logScaleY       ;&lt;br /&gt;
     //drawGrid        ;&lt;br /&gt;
 &lt;br /&gt;
     // Inherited entries&lt;br /&gt;
     //...&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/utilities/graphFunctionObject&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/simpleFoam/motorBike&lt;br /&gt;
&lt;br /&gt;
=== 新しい有限領域関数オブジェクト：surfaceCourantNumber ===&lt;br /&gt;
新しい有限面積関数オブジェクトsurfaceCourantNumberは、有限面積の面中心で表面のクーラント数フィールドを計算します。 これは、liquidFilmFoamソルバーで使用されているような、エッジ中心でクーラント数を計算するアプローチからの概念的な転換を意味します。 面中心でクーラント数を評価することにより、surfaceCourantNumberは、より局所的で、より正確な表面ベースの流れ解析の指標を提供することができます。&lt;br /&gt;
&lt;br /&gt;
最小限の使用例は以下の通り：&lt;br /&gt;
 &amp;lt;code&amp;gt;surfaceCourantNumber1&lt;br /&gt;
 {&lt;br /&gt;
     // Mandatory entries&lt;br /&gt;
     type        surfaceCourantNumber;&lt;br /&gt;
     libs        (regionFaModels);&lt;br /&gt;
 &lt;br /&gt;
     // Optional entries&lt;br /&gt;
     area        &amp;lt;word&amp;gt;;&lt;br /&gt;
     result      &amp;lt;word&amp;gt;;&lt;br /&gt;
     phis        &amp;lt;word&amp;gt;;&lt;br /&gt;
     rho         &amp;lt;word&amp;gt;;&lt;br /&gt;
 &lt;br /&gt;
     // Inherited entries&lt;br /&gt;
     ...&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/regionFaModels/functionObjects/surfaceCourantNumber/surfaceCourantNumber.H&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/finiteArea/liquidFilmFoam/cylinder&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* Merge request #706&lt;br /&gt;
&lt;br /&gt;
=== ソルバー関数オブジェクトの改良 アウターループ収束チェック ===&lt;br /&gt;
ソルバー関数オブジェクト（scalarTransport、energyTransport、electricPotential）に外部ループの収束チェック機能が追加されました。 この改良により、収束が達成された時点で不要なループを排除することで、計算オーバーヘッドを削減し、解法プロセスを合理化することができます。 最小限の使用例を以下に示します：&lt;br /&gt;
 &amp;lt;code&amp;gt;scalarTransport1&lt;br /&gt;
 {&lt;br /&gt;
     // Optional entries&lt;br /&gt;
     tolerance    &amp;lt;scalar&amp;gt;;&lt;br /&gt;
     ...&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/solvers/scalarTransport/scalarTransport.H&lt;br /&gt;
* $FOAM_SRC/functionObjects/solvers/energyTransport/energyTransport.H&lt;br /&gt;
* $FOAM_SRC/functionObjects/solvers/electricPotential/electricPotential.H&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* Merge request #699&lt;br /&gt;
&lt;br /&gt;
== パラレル ==&lt;br /&gt;
&lt;br /&gt;
=== ノンブロッキング・エクスチェンジ（NBX）の改善 ===&lt;br /&gt;
OpenFOAM-v2306では、実験的な「ノンブロッキング・コンセンサス交換」（NBX）オプションが導入されました。 8192コアに複数のcyclicAMIがあり、（etc/controlDictまたはローカルシステム/controlDictに）エントリがある場合です：&lt;br /&gt;
 &amp;lt;code&amp;gt;OptimisationSwitches&lt;br /&gt;
 {&lt;br /&gt;
     // Additional PstreamBuffers tuning parameters (experimental)&lt;br /&gt;
     //    0 : (legacy PEX)&lt;br /&gt;
     //        * all-to-all for buffer sizes [legacy approach]&lt;br /&gt;
     //        * point-to-point for contents&lt;br /&gt;
     //    1 : (hybrid PEX)&lt;br /&gt;
     //        * NBX for buffer sizes [new approach]&lt;br /&gt;
     //        * point-to-point for contents&lt;br /&gt;
     pbufs.tuning    1;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
以下の時間帯を提供：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|NBX&lt;br /&gt;
|Time (s)&lt;br /&gt;
|-&lt;br /&gt;
|No&lt;br /&gt;
|28k&lt;br /&gt;
|-&lt;br /&gt;
|Yes&lt;br /&gt;
|18k&lt;br /&gt;
|}&lt;br /&gt;
NBXは、「受信と消費」の順序が「送信の順序」と同じであることを保証していない。 これは、cyclicAMIのジオメトリなど、長いメッセージではより敏感であり、一意の「タグ」（デフォルトのPstream::msgType()ではない）を確保するように注意しなければならない。&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/meshTools/AMIInterpolation/AMIInterpolation&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* Merge request #704&lt;br /&gt;
&lt;br /&gt;
=== 改良された有限領域フレームワーク ===&lt;br /&gt;
いくつかの有限領域フレームワークルーチンは、歪度や非直交性に関係なく、平面および非平面有限領域メッシュに影響を与え、並列処理時に一貫性のない挙動を示します。 これらの不整合は、主に内部エッジとプロセッサエッジに適用されるアルゴリズムの違いから生じています。 例えば、非平面有限面積メッシュのコーナーエッジが2つのプロセッサ間で共有されている場合、接線方向に微妙な正負の摂動が生じることがあります。 この摂動は時間の経過とともに伝播し、膜分離のような予期せぬ流れ挙動を引き起こす可能性があります。&lt;br /&gt;
&lt;br /&gt;
入念にテストされた一連のコミットは、主に以下のコアルーチンに対処するために、並列一貫性を改善した：&lt;br /&gt;
 &amp;lt;code&amp;gt;makeLPN&lt;br /&gt;
 makeWeights&lt;br /&gt;
 makeDeltaCoeffs&lt;br /&gt;
 makeCorrectionVectors&lt;br /&gt;
 makeSkewCorrectionVectors&amp;lt;/code&amp;gt;&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/finiteArea/faMesh/faMeshDemandDrivenData.C&lt;br /&gt;
* $FOAM_SRC/finiteArea/faMesh/faPatches/constraint/processor/processorFaPatch.C&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* Merge request #708&lt;br /&gt;
&lt;br /&gt;
=== reconstructParMesh の改良 ===&lt;br /&gt;
reconstructParMeshユーティリティは、有限面積（'faMesh'）メッシュを再構築することができ、有限面積メッシュが並列に生成される場合に便利です。 ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_UTILITIES/parallelProcessing/reconstructParMesh&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* Merge request #711&lt;br /&gt;
&lt;br /&gt;
=== 改良された分散トライサーフェス ===&lt;br /&gt;
distributedTriSurfaceMeshは、例えばsystem/snappyHexMeshDictのように、関連する辞書で分解方法を指定することで、他のシミュレーションとは異なる分解方法で実行できるようになりました：&lt;br /&gt;
 &amp;lt;code&amp;gt;box&lt;br /&gt;
 {&lt;br /&gt;
     file &amp;quot;box.obj&amp;quot;;&lt;br /&gt;
     type distributedTriSurfaceMesh;&lt;br /&gt;
 &lt;br /&gt;
     // Override the decomposition method&lt;br /&gt;
     numberOfSubdomains  8;&lt;br /&gt;
     method              hierarchical;&lt;br /&gt;
     n                   (2 2 2);&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
を指定することで、三角形を複製せずに実行することもできます。&lt;br /&gt;
 &amp;lt;code&amp;gt;decomposeUsingBbs   false;&amp;lt;/code&amp;gt;&lt;br /&gt;
これは過剰なメモリ使用を回避し、頂点ごとの法線を保存するので、滑らかな法線を持つように拡張できる。&lt;br /&gt;
&lt;br /&gt;
この2つの変更により、単純なメッシュで非並列または並列を実行しても、同じ結果が得られるようになった。 下の図では、非平行メッシュを青い面で、平行メッシュを赤い線で表しています。&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/snappyHexMesh/distributedTriSurfaceMesh&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.H&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* Merge request #720&lt;br /&gt;
&lt;br /&gt;
== ユーザビリティ ==&lt;br /&gt;
&lt;br /&gt;
=== C++17に更新 ===&lt;br /&gt;
現在進行中のGPU開発をサポートするため、C++の最低規格がC++14からC++17に引き上げられた。&lt;br /&gt;
&lt;br /&gt;
* コミット: #44f7a726&lt;br /&gt;
* ソース: $WM_PROJECT_DIR/wmake/rules&lt;br /&gt;
&lt;br /&gt;
=== 新しいチュートリアルのデモンストレーション ===&lt;br /&gt;
&lt;br /&gt;
==== ミッシングコーナー ====&lt;br /&gt;
これは様々なメッシュ・ユーティリティを紹介するシンプルなチュートリアルです：&lt;br /&gt;
&lt;br /&gt;
* cellDecomposition関数四角形メッシュを作成するオブジェクト&lt;br /&gt;
* テットを多面体に変換するpolyDualMesh&lt;br /&gt;
* surfaceMeshExtractで追加のポイントパッチを作成する。&lt;br /&gt;
* moveDynamicMeshでメッシュを少し変形させる。 メッシュのモーフィングは、特徴制約を無視したラプラシアン点スムージングを使って行われるため、メッシュの品質を向上させるのに悪い働きをします。&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/field/cellDecomposer&lt;br /&gt;
* $FOAM_UTILITIES/mesh/manipulation/polyDualMesh&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/polyDualMesh/missingCorner&lt;br /&gt;
&lt;br /&gt;
==== ダム決壊 ====&lt;br /&gt;
これはdamBreakチュートリアルの変形で、cyclicACMIを使ってフローをコントロールすることを紹介している。 このチュートリアルでは&lt;br /&gt;
&lt;br /&gt;
* 追加の（cyclicACMI）バッフルが液体の流れを遮断する。&lt;br /&gt;
* 時刻0.5秒、閉塞部の下半分の面が開く&lt;br /&gt;
* これは、スケールファクターを使用して完全非結合（すなわち壁）から完全結合に変換するcyclicACMIによって行われる。&lt;br /&gt;
* スケールはconstant/polyMesh/boundaryのパッチ定義にあるコード化されたFunction1の項目を通して設定されます。&lt;br /&gt;
* 初期状態：閉塞（赤）&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/primitives/functions/Function1/Coded&lt;br /&gt;
* $FOAM_SRC/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/multiphase/interFoam/RAS/damBreakLeakage&lt;br /&gt;
&lt;br /&gt;
== コミュニティ ==&lt;br /&gt;
OpenFOAM v2412のリリースは、OpenFOAMのコアチーム以外からの貢献の努力を認め、OpenFOAMの開発を統一するために、より広いOpenFOAMコミュニティに参加してもらうための継続的な努力の上に成り立っています。&lt;br /&gt;
&lt;br /&gt;
いくつかの開発は、メインのコードベースに直接統合されている。&lt;br /&gt;
&lt;br /&gt;
* 地域貢献： アドジョイント最適化の改良 詳細&lt;br /&gt;
* 地域貢献： SA-DDES乱流モデルの遮蔽機能を改善 詳細...&lt;br /&gt;
&lt;br /&gt;
もし、共同開発の可能性を模索し、あなたの開発したものを含めたいとお考えでしたら、ぜひご連絡ください。&lt;br /&gt;
&lt;br /&gt;
=== 乱流専門委員会リポジトリへの新しい投稿 ===&lt;br /&gt;
乱流技術委員会リポジトリ傘下の以下の2つのリポジトリを公開いたします：&lt;br /&gt;
&lt;br /&gt;
* gammaSST :3方程式遷移と乱流モデル。&lt;br /&gt;
* HelicitySpalartAllmaras : Liuらのヘリシティ補正を用いたSpalart-Allmaras乱流モデル。&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/$WM_PROJECT_DIR/plugins/turbulence-community&lt;br /&gt;
&lt;br /&gt;
帰属&lt;br /&gt;
&lt;br /&gt;
* OpenCFDは、Jiří Fürst、Jeff Defoe、そして彼らの同僚たちの貴重な貢献と援助に感謝したい。&lt;br /&gt;
&lt;br /&gt;
=== 謝辞 ===&lt;br /&gt;
&lt;br /&gt;
==== 謝辞 ====&lt;br /&gt;
OpenFOAMに貢献してくれた以下の方々に感謝します。&lt;br /&gt;
&lt;br /&gt;
==== 特別感謝 ====&lt;br /&gt;
&lt;br /&gt;
* Johan Rønby Pedersen: マルチフェーズフレームワークの並列化に貢献&lt;br /&gt;
* マーカス・ノードランド：流体-多孔質界面のモデリングに関する技術的な議論に協力してくれている。&lt;br /&gt;
&lt;br /&gt;
==== 課題追跡への貢献 ====&lt;br /&gt;
&lt;br /&gt;
* ilyapopov (Ilya Popov) リポジトリ内の設定ファイルの迷子？ GL#3192&lt;br /&gt;
* carlo.fiorina (carlo fiorina) v2406 で READ_IF_PRESENT の動作に一貫性がない GL#3193&lt;br /&gt;
* xpqiu (xpqiu) SPDP モードで実行するとソルバがクラッシュする GL#3194&lt;br /&gt;
* gng015 (gng) reconstructParMesh がバイナリでメッシュが大きすぎる場合，メッシュの再構築でスタックする GL#3196&lt;br /&gt;
* stefano.garbin (Stefano Garbin) OF2406 で CFMESH 実行ファイルが見つからない GL#3198&lt;br /&gt;
* duyquang.tdm.bd (Quang Nguyen) OpenFOAM-v2406 での ccmToFoam のクロスコンパイル時のエラー GL#3199&lt;br /&gt;
* ChrisSessler (Christian Sessler) multiComponentMixture と組み合わせた hConst がすべての参照エンタルピーに最初の種の Tref を使用する Href GL#3200&lt;br /&gt;
* ChennaK85 (Chennakesava Kadapa) sixDoFRigidBody の Newmark および Crank-Nicolson スキームの問題 GL#3202&lt;br /&gt;
* santiagomarquezd (Santiago Marquez Damian) 3 次元未満でテンソルの球面部分が間違って計算される GL#3203&lt;br /&gt;
* DL (David Ludlow) overPimpleDyMFoam と v2406 における kOmegaSST 分割の不具合 GL#3204&lt;br /&gt;
* bPaillard (Benoit Paillard) オーバーセットチュートリアルにおける圧力変動 GL#3207&lt;br /&gt;
* mzy (Zeyao Ma) icoReactingMultiphaseInterFoam V2206 で凝固問題を解くと固相が常に動いてしまう GL#3208&lt;br /&gt;
* zzphub (Zhipeng Zhang) 2306 の debian12 ソースビルドに失敗 GL#3210&lt;br /&gt;
* Charlfmare (Charl Mare) SwirlFanVelocity が新しい OF バージョンで動作しない GL#3211&lt;br /&gt;
* lizhisongsjtu (zhisong li) bug: solitary wave - McCowan and Grimshaw GL#3212&lt;br /&gt;
* daniel.jasinski (Daniel) buoyantSimpleFoam の圧力制御の欠落 GL#3213&lt;br /&gt;
* pferro (Paulin FERRO) solidificationMeltingSource がバグっぽい GL#3214&lt;br /&gt;
* rbonin (Rémi Bonin) precompiled OpenFOAM (v2406 / Windows 10) で表面膜を使用すると reactingParcelFoam がクラッシュする GL#3216&lt;br /&gt;
* takuya (takuya yamamoto) blockMeshDict の project 関数のチュートリアルの記述が正しくない GL#3217&lt;br /&gt;
* snaka (Shinji Nakagawa) foamMonitor が Gnuplot バージョン 6 の 'reread' コマンドの非推奨のためにグラフの更新に失敗する GL#3219&lt;br /&gt;
* ilyapopov (Ilya Popov) energyTransport が dynamicRefineFvMesh と組み合わせて動作しない GL#3221&lt;br /&gt;
* ntilton (Nils Tilton) fixedProfile 条件が最後のタイムステップからシミュレーションを再開しない GL#3223&lt;br /&gt;
* porori (takashi suzuki) diffusionGasEvaporation: 例題の使い方とチュートリアルが不適切 &amp;lt;= アントワーヌ方程式の定義が一般的でない（第2項の符号が逆）． GL#3224&lt;br /&gt;
* raphalace (Raphael Aranha) SymmetryPlane と ABL シミュレーションの不具合 GL#3226&lt;br /&gt;
* porori (takashi suzuki) snappyHexMesh v2012 以降で、サーフェスがサイクリックタイプの境界に接続されている場合、サーフェスレイヤーを追加できない。 GL#3227&lt;br /&gt;
* Skolo (Robert) wallShearStress, yPlus の入力フィールドを指定できるようにした GL#3228&lt;br /&gt;
* flex99 (Felix Burger) メッシュとフィールドをインポートする際の vtkUnstructuredToFoam エラー GL#3230&lt;br /&gt;
* acassinelli (Andrea Cassinelli) v2406 が v2312 より最大 ~3% 遅くなった GL#3231&lt;br /&gt;
* croquemadame (Juan Salazar) 後処理のためにフォームファイルのサーフェスフォーマットをディスクから指定の場所に読み込むクラス (foamSurfaceReader) GL#3232&lt;br /&gt;
* gerlero (Gabriel Gerlero) CGAL 6 との互換性 GL#3234&lt;br /&gt;
* xuegy (Guanyang Xue) SolidificationMeltingSource の異なる液相線と固相線 GL#3235&lt;br /&gt;
* gerlero (Gabriel Gerlero) dl.openfoam.comがGitHub Actionsからのリクエストを拒否している GL#3236&lt;br /&gt;
* cthorenz (Carsten Thorenz) interFoam： 可変密度乱流モデル使用時のせん断応力計算が正しくない / 動作しない GL#3237&lt;br /&gt;
* mfikrikasim (Mohd Fikri Kasim) OpenFoam v2306 - SnappyHexMesh の問題 GL#3239&lt;br /&gt;
* hikassem (Hassan Kassem) ConeNozzleInjection が均一でない GL#3240&lt;br /&gt;
* jczhang07 (Junchao Zhang) &amp;quot;openfoam/etc/bashrc&amp;quot; が非常に遅い GL#3245&lt;br /&gt;
* jczhang07 (Junchao Zhang) Icx コンパイラで `pthread_create' への未定義参照のリンクエラー GL#3251&lt;br /&gt;
* djarecki (Dominic Jarecki) EASY FIX: アクティブ熱物理モデルに線形 EOS を含める GL#3252&lt;br /&gt;
* jczhang07 (Junchao Zhang) &amp;quot;petscFoam&amp;quot; を未定義のシンボルでロードできなかった GL#3253&lt;br /&gt;
* richardt (Richard Tribess) BUG: AMR および collisionModel pairCollision でラグランジアンソルバーを実行する際に storeGlobalPositions が呼び出されない GL#3256&lt;br /&gt;
* hungnguyenphd (Quoc Hung Nguyen) sphereDrag が非常に小さい粒子サイズで動作しない GL#3257&lt;br /&gt;
* rbonin (Rémi Bonin) 太陽計算機が 24 時間以上の実行時間で間違った太陽方向を提供する GL#3258&lt;br /&gt;
* jczhang07 (Junchao Zhang) '-fp-model precise は -fp-model=precise であるべき GL#3259&lt;br /&gt;
* porori (takashi suzuki) interCondensatingEvaporatingFoam with InterfaceHeatResistance モデルが蒸発による体積変化を適切に評価しない GL#3261&lt;br /&gt;
* licg1981 (CHENGGONG LI) foamInstallationTest が gcc/g++ のバージョンを読み込めない GL#3263&lt;br /&gt;
* lizhisongsjtu (zhisong li) of2206: vectorCodedSource が動作しない。 GL#3264&lt;br /&gt;
* cibanez (Cristóbal Ibáñez) dynamicMotionSolverFvMeshMAMI の再実装 GL#3265&lt;br /&gt;
* cthorenz (Carsten Thorenz) snappyHexMesh： レイヤー追加処理でパッチ形状が破壊されることがある GL#3270&lt;br /&gt;
* jczhang07 (Junchao Zhang) RPATH リンクの失敗 GL#3274&lt;br /&gt;
* janga (Jan Gärtner) v2406 における boundaryInternalField() のコンパイルエラー GL#3277&lt;br /&gt;
* johan_roenby (Johan Roenby) BUG: plicRDF が周期的なパッチを越えて正常に動作しない GL#3279&lt;br /&gt;
* haampie (Harmen Stoppels) stubs サブディレクトリへの rpath が見つからない GL#3283&lt;br /&gt;
* sreplogl (Scott Replogle) マスターの初期クローンは成功したが、無効なパスのためチェックアウトに失敗 GL#3284&lt;br /&gt;
* janga (Jan Gärtner) Parcels の origProcId の命名を統一する GL#3287&lt;br /&gt;
&lt;br /&gt;
== 会社概要 ==&lt;br /&gt;
OpenFOAMは、ESI-OpenCFDのコアチームによって制作されています。&lt;br /&gt;
&lt;br /&gt;
* Andrew Heather&lt;br /&gt;
* Mattijs Janssens&lt;br /&gt;
* Mark Olesen&lt;br /&gt;
* Prashant Sonakar&lt;br /&gt;
* Pawan Ghildiyal&lt;br /&gt;
* Kutalmış Berçin&lt;br /&gt;
* Matej Forman&lt;br /&gt;
* Chiara Pesci&lt;br /&gt;
* Martin Lichtmes&lt;br /&gt;
* Jiri Polansky&lt;br /&gt;
* Ann Ronchetti&lt;br /&gt;
* Fred Mendonça&lt;br /&gt;
* Swapnil Salokhe&lt;br /&gt;
&lt;br /&gt;
グローバルESIチームからの幅広いサポート&lt;br /&gt;
&lt;br /&gt;
* ESI Group (GmbH)&lt;br /&gt;
* ESI Group (ESI Software (India) Private Limited)&lt;br /&gt;
* ESI Group (North America)&lt;br /&gt;
* ESI Group (Nihon ESI)&lt;br /&gt;
* ESI webteam&lt;br /&gt;
&lt;br /&gt;
次からの寄付もある。&lt;br /&gt;
&lt;br /&gt;
* Marian Fuchs: Upstream CFD GmbH&lt;br /&gt;
* Vaggelis Papoutsis: PCOpt/NTUA and FOSS GP&lt;br /&gt;
* The OpenFOAM Community&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM&amp;diff=864</id>
		<title>OpenFOAM</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM&amp;diff=864"/>
		<updated>2024-12-28T03:42:54Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: /* リリースノート */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;このページではOpenFOAMについてまとめていきます。&lt;br /&gt;
&lt;br /&gt;
== リリースノート ==&lt;br /&gt;
&lt;br /&gt;
'''OpenCFD'''&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2412 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2406 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2312リリースノート|OpenFOAM v2312 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2306リリースノート|OpenFOAM v2306 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2212 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2206 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2112 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2106 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[https://www.notion.so/OF2012-3625e0d8029b40bda20fafe481dcbd95 OpenFOAM v2012 リリースノート]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2006 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1912 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1906 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1812 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1806 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The OpenFOAM Foundation'''&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 12 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 11 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 10 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 9|OpenFOAM 9 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 8 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v7 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v6.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 4.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 3.0.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 2.4.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
==スターティングガイド==&lt;br /&gt;
[[OpenFOAMについて]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAMのインストール]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/e63d4cf76ea2fea659b2 チュートリアルケースの実行]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/24b8491bf9776c3a27db OpenFOAMで入力できる項目の調べ方]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/e4b13100e15508981a85 OpenFOAMの$FOAM変数]&lt;br /&gt;
&lt;br /&gt;
==困った時は？==&lt;br /&gt;
[https://qiita.com/mmer547/items/7c7c257dcaf2efbc730b OpenFOAM Google Groupに投稿する際に抑えるポイント]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/6b041536e2ac5dd17721 OpenFOAMで計算するネタがない時の探し方]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAMのエラーメッセージの対応]]&lt;br /&gt;
&lt;br /&gt;
==プリプロセス==&lt;br /&gt;
&lt;br /&gt;
===形状作成===&lt;br /&gt;
&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/OpenFOAM%EF%BC%9A%E5%BD%A2%E7%8A%B6%E4%BD%9C%E6%88%90 形状作成ツールまとめ]&lt;br /&gt;
&lt;br /&gt;
===メッシュ===&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/OpenFOAM%E3%81%AE%E3%83%A1%E3%83%83%E3%82%B7%E3%83%A3%E3%83%BC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6 OpenFOAMのメッシャーについて]&lt;br /&gt;
&lt;br /&gt;
[[メッシュ作成:blockMesh]]&lt;br /&gt;
&lt;br /&gt;
[[メッシュ作成:snappyHexMesh]]&lt;br /&gt;
&lt;br /&gt;
[[メッシュ作成:cfMesh]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/9fca38b8e8eadc869bb8 SalomeでOpenFOAMのメッシュを用意する方法]&lt;br /&gt;
&lt;br /&gt;
===境界条件===&lt;br /&gt;
[[境界条件]]&lt;br /&gt;
&lt;br /&gt;
==ソルバ==&lt;br /&gt;
[[simpleFoamについて]]&lt;br /&gt;
&lt;br /&gt;
[[ExecutionTimeとClockTimeについて]]&lt;br /&gt;
&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/SIMPLEC%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E8%A8%88%E7%AE%97%E5%AE%9F%E8%A1%8C%EF%BC%88OpenFOAM3.0.1%EF%BC%89 SIMPLECを使用した計算実行（OpenFOAM3.0.1）]&lt;br /&gt;
&lt;br /&gt;
===並列計算の実行方法===&lt;br /&gt;
&lt;br /&gt;
[[decomposeParDictの中身]]&lt;br /&gt;
&lt;br /&gt;
===エラーメッセージ===&lt;br /&gt;
[[v1806のエラーメッセージ]]&lt;br /&gt;
&lt;br /&gt;
==ポストプロセス==&lt;br /&gt;
[[ログファイルから残差ログを抽出]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/e463235ddb93f08db68a OpenFOAMのpostProcessについて]&lt;br /&gt;
&lt;br /&gt;
==チュートリアルケース==&lt;br /&gt;
[[チュートリアルケース|チュートリアルケース一覧]]&lt;br /&gt;
&lt;br /&gt;
==カスタマイズ==&lt;br /&gt;
[https://qiita.com/mmer547/items/2997bf8c71fe1e2423c9 OpenFOAM ソースコードの探し方]&lt;br /&gt;
&lt;br /&gt;
==その他==&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/foam-extend_4.0%E3%82%92Bash_on_Ubuntu_on_Windows%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB foam-extend 4.0をBash on Ubuntu on Windowsにインストール]&lt;br /&gt;
&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/ESI_Windows%E7%89%88OpenFOAM%E3%81%AE%E5%B0%8E%E5%85%A5 ESI Windows版OpenFOAMの導入]&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/OpenCAE/Supercomputer-OpenFOAM-Training/-/wikis/home スーパーコンピュータOpenFOAM講習会]&lt;br /&gt;
&lt;br /&gt;
== 関連サービス ==&lt;br /&gt;
=== プリプロセス ===&lt;br /&gt;
[https://www.xsim.info/products/products.html XSim.Work]&lt;br /&gt;
&lt;br /&gt;
== 関連書籍 ==&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEDEXCS-OpenFOAM%E3%83%8F%E3%83%B3%E3%83%89%E3%83%96%E3%83%83%E3%82%AF-%E9%87%8E%E6%9D%91-%E6%82%A6%E6%B2%BB/dp/4621306138/ref=sr_1_5?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-5 オープンCAEのためのDEXCS for OpenFOAMハンドブック]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%81%AB%E3%82%88%E3%82%8B%E7%86%B1%E7%A7%BB%E5%8B%95%E3%81%A8%E6%B5%81%E3%82%8C%E3%81%AE%E6%95%B0%E5%80%A4%E8%A7%A3%E6%9E%90-%E7%AC%AC2%E7%89%88-%E4%B8%80%E8%88%AC%E7%A4%BE%E5%9B%A3%E6%B3%95%E4%BA%BA%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E5%AD%A6%E4%BC%9A/dp/4627691025/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-1 OpenFOAMによる熱移動と流れの数値解析(第2版) ]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%81%AE%E6%AD%A9%E3%81%8D%E6%96%B9-%E6%8A%80%E8%A1%93%E3%81%AE%E6%B3%89%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%EF%BC%88NextPublishing%EF%BC%89-%E5%B7%9D%E7%95%91-%E7%9C%9F%E4%B8%80/dp/4844379526/ref=sr_1_6?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-6　OpenFOAMの歩き方]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9-%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%83%86%E3%83%A9%E3%83%90%E3%82%A4%E3%83%88/dp/4627691610/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-2 OpenFOAMライブラリリファレンス]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-Tomislav-Mari%C2%B4c/dp/4627670915/ref=sr_1_3?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-3 OpenFOAMプログラミング]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%81%AB%E3%82%88%E3%82%8B%E7%86%B1%E7%A7%BB%E5%8B%95%E3%81%A8%E6%B5%81%E3%82%8C%E3%81%AE%E6%95%B0%E5%80%A4%E8%A7%A3%E6%9E%90-%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E5%AD%A6%E4%BC%9A/dp/4627691017/ref=sr_1_4?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-4 OpenFOAMによる熱移動と流れの数値解析]&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2412_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=863</id>
		<title>OpenFOAM v2412 リリースノート</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2412_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=863"/>
		<updated>2024-12-28T03:42:48Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: snapshot1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ESI OpenCFD Release OpenFOAM® v2412 ==&lt;br /&gt;
OpenCFDは、OpenFOAM® v2412の2024年12月リリースを発表いたします。 このリリースは、コードの多くの領域にわたってOpenFOAM-v2406の機能を拡張しています。 この新機能は、OpenCFDの顧客からのスポンサーによる開発、内部資金による開発、OpenFOAMコミュニティからの機能や変更の統合を表しています。&lt;br /&gt;
&lt;br /&gt;
OpenFOAMはOpenCFDによってGPLライセンスの下で配布されています。 様々なLinuxや他のPOSIXシステムでのコンパイルに適したソースコードパッケージに加え、このリリースにはコンパイル済みのバイナリパッケージもあります。&lt;br /&gt;
&lt;br /&gt;
* Ubuntu Linux: Ubuntu 用パッケージインストール (近日公開予定) &lt;br /&gt;
*openSUSE Linux: パッケージインストール (近日公開予定) &lt;br /&gt;
*Redhat Linux variants: パッケージインストール (近日公開予定) &lt;br /&gt;
*apptainer イメージ: dockerhub から入手可能 (近日公開予定)&lt;br /&gt;
&lt;br /&gt;
Windowsユーザーには、コンパイル済みパッケージについて3つの選択肢がある（詳細）：&lt;br /&gt;
&lt;br /&gt;
* Linux用Windowsサブシステムの使用（Ubuntu、openSUSEなどがベース）&lt;br /&gt;
* クロスコンパイルによるネイティブ実行可能ファイル&lt;br /&gt;
* ドッカーのインストール&lt;br /&gt;
&lt;br /&gt;
OpenFOAMのapptainerサポートは、事前に組み立てられたイメージではなく、記述ファイルによって提供されます：&lt;br /&gt;
&lt;br /&gt;
* パッケージ/コンテナを確認する&lt;br /&gt;
&lt;br /&gt;
Mac OSXユーザーには、ソースからコンパイルするか、コンパイル済みパッケージのDockerコンテナを使用するオプションがある（詳細はこちら）。&lt;br /&gt;
&lt;br /&gt;
== アップグレード ==&lt;br /&gt;
&lt;br /&gt;
* ユーザー向けのヘルプは、ユーザー・アップグレード・ガイドに記載されています。&lt;br /&gt;
* 開発者向けのヘルプは、開発者向けアップグレードガイドに記載されています。&lt;br /&gt;
&lt;br /&gt;
== 前処理 ==&lt;br /&gt;
&lt;br /&gt;
=== createPatchユーティリティの改良 ===&lt;br /&gt;
createPatchユーティリティが拡張され、例えばcyclicACMIの作成時に重複した境界面を作成できるようになりました。 これは、外部生成メッシュ間のcyclicACMI接続を作成するために使用できます。&lt;br /&gt;
&lt;br /&gt;
system/createPatchDictのサンプル：&lt;br /&gt;
 &amp;lt;code&amp;gt;// Patches to create.&lt;br /&gt;
 patches&lt;br /&gt;
 (&lt;br /&gt;
     {&lt;br /&gt;
         //- Master side patch&lt;br /&gt;
         name            central_inlet_couple;&lt;br /&gt;
         patchInfo&lt;br /&gt;
         {&lt;br /&gt;
             type            cyclicACMI;&lt;br /&gt;
             nonOverlapPatch central_inlet_blockage;&lt;br /&gt;
             neighbourPatch  inlet_central_couple;&lt;br /&gt;
         }&lt;br /&gt;
         constructFrom patches;&lt;br /&gt;
         patches (central_inlet);&lt;br /&gt;
     }&lt;br /&gt;
     {&lt;br /&gt;
         //- Blockage&lt;br /&gt;
         name            central_inlet_blockage;&lt;br /&gt;
         patchInfo&lt;br /&gt;
         {&lt;br /&gt;
             type            wall;&lt;br /&gt;
         }&lt;br /&gt;
         constructFrom patches;&lt;br /&gt;
         patches (central_inlet);&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     {&lt;br /&gt;
         //- Slave side patch&lt;br /&gt;
         name            inlet_central_couple;&lt;br /&gt;
         patchInfo&lt;br /&gt;
         {&lt;br /&gt;
             type            cyclicACMI;&lt;br /&gt;
             nonOverlapPatch inlet_central_blockage;&lt;br /&gt;
             neighbourPatch  central_inlet_couple;&lt;br /&gt;
         }&lt;br /&gt;
         constructFrom patches;&lt;br /&gt;
         patches (inlet_couple);&lt;br /&gt;
     }&lt;br /&gt;
     {&lt;br /&gt;
         //- Blockage&lt;br /&gt;
         name            inlet_central_blockage;&lt;br /&gt;
         patchInfo&lt;br /&gt;
         {&lt;br /&gt;
             type            wall;&lt;br /&gt;
         }&lt;br /&gt;
         constructFrom patches;&lt;br /&gt;
         patches (inlet_couple);&lt;br /&gt;
     }&lt;br /&gt;
 );&amp;lt;/code&amp;gt;&lt;br /&gt;
注意：createPatchを実行する前に、作成するcyclicACMIパッチが存在してはならない。&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/createPatch/TJunctionSwitching_createPatch&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/utilities/mesh/manipulation/createPatch&lt;br /&gt;
* $FOAM_SRC/utilities/mesh/manipulation/mergeMeshes&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* Merge request #702&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMeshの改良：スナップの前にレイヤーをバッファリングする。 ===&lt;br /&gt;
スナップ前にメッシュにバッファレイヤーを追加できるようになり、スナップアルゴリズムをユーザーが選択できるようになりました。&lt;br /&gt;
&lt;br /&gt;
snappyHexMeshDictの新しいトップレベル・エントリーを使用して、バッファー・レイヤーの追加とメッシュ・モーション機能の使用を選択できるようになりました：&lt;br /&gt;
 &amp;lt;code&amp;gt;// Type of mesh generation:&lt;br /&gt;
 //  - castellated (default)&lt;br /&gt;
 //  - castellatedBufferLayer&lt;br /&gt;
 type            castellatedBufferLayer;&amp;lt;/code&amp;gt;&lt;br /&gt;
バッファ層の追加はすべてのメッシュ化されたパッチに適用されます。オプションで、addBufferLayersキーワードを使用してサーフェスごとにオーバーライドできます：&lt;br /&gt;
 &amp;lt;code&amp;gt;refinementSurfaces&lt;br /&gt;
 {&lt;br /&gt;
     sphere&lt;br /&gt;
     {&lt;br /&gt;
         // Surface-wise min and max refinement level&lt;br /&gt;
         level (1 1);&lt;br /&gt;
         // Disable buffer layers&lt;br /&gt;
         addBufferLayers false;&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
スナップ時に使用するメッシュ・モーション・ソルバの選択：&lt;br /&gt;
 &amp;lt;code&amp;gt;snapControls&lt;br /&gt;
 {&lt;br /&gt;
   ..&lt;br /&gt;
   solver  displacementPointSmoothing;&lt;br /&gt;
   displacementPointSmoothingCoeffs&lt;br /&gt;
   {&lt;br /&gt;
       // Use laplacian to untangle problem areas&lt;br /&gt;
       pointSmoother           laplacian;&lt;br /&gt;
       nPointSmootherIter      10;&lt;br /&gt;
   }&amp;lt;/code&amp;gt;&lt;br /&gt;
下の画像は、回転したボックスの外側に追加されたバッファー・セルの単層で、セルはセル・インデックスに従って色分けされている：&lt;br /&gt;
&lt;br /&gt;
2つ目の例は、バッファレイヤーを追加することで、内側と外側の両方の領域を維持しながら、フェイスゾーンにスナップするのに役立つことを示しています。 ここでは、セルは非直交性に従って色付けされている：&lt;br /&gt;
&lt;br /&gt;
バッファレイヤーは（まだ）フィーチャーのエッジを考慮していないことに注意してください。&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/snappyHexMesh/rotated_block Meshing the outside of a rotated cube.&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/snappyHexMesh/sphere_multiRegion Meshing the inside and outside of a sphere.&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/utilities/mesh/generation/snappyHexMesh&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* Merge request #715&lt;br /&gt;
&lt;br /&gt;
== 境界条件 ==&lt;br /&gt;
&lt;br /&gt;
=== pointMeshの境界処理の改善 ===&lt;br /&gt;
pointMeshはパッチのリスト（オプション）を持つようになった。 通常の動作は、pointMeshはボリュームの'poly'メッシュと同じパッチのセットを使い、'poly'パッチのポイントで操作します。&lt;br /&gt;
&lt;br /&gt;
ポイントパッチ条件をpolyMesh/pointMesh/boundaryファイルで指定できるようになり、フィーチャーのエッジ、ポイント、内部ポイントにも制約を適用できるようになりました。&lt;br /&gt;
&lt;br /&gt;
チュートリアルのmesh/blockMesh/sphere7は、これを使用して球状のブロックメッシュを立方体に戻す方法を示しています。 &lt;br /&gt;
&lt;br /&gt;
このチュートリアルでは、プラグインのポイントスムーサーを使う、新しいdisplacementPointSmoothingモーションソルバーの使用例も紹介します：&lt;br /&gt;
&lt;br /&gt;
* laplacian : 近隣点の平均位置&lt;br /&gt;
* geometricElementTransform : 最も直交する形状に移動する。&lt;br /&gt;
&lt;br /&gt;
注&lt;br /&gt;
&lt;br /&gt;
* 点の移動中に点法線が更新されない&lt;br /&gt;
* ポイントモーションでは、周期的なパッチは現在正しく処理されていません。&lt;br /&gt;
* これらの追加pointPatchは以下によってサポートされる：&lt;br /&gt;
** moveDynamicMesh, subsetMesh&lt;br /&gt;
** decomposePar, reconstructPar, redistributePar&lt;br /&gt;
** some mesh motion solvers&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/blockMesh/pipe&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/blockMesh/sphere7&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/moveDynamicMesh/badMove&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/moveDynamicMesh/bendJunction&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/moveDynamicMesh/faceZoneBlock&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/meshes/pointMesh/pointBoundaryMesh/pointBoundaryMesh.C&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* Merge request #715&lt;br /&gt;
&lt;br /&gt;
=== 新しいポイントパッチ機能 ===&lt;br /&gt;
&lt;br /&gt;
* topoSet に patchToPoint が追加されました : pointPatch のすべての点を選択します (patchToFace と faceToPoint を使って polyPatch の点を取得します)。&lt;br /&gt;
* 新しい点境界条件：edgeSlipとpointAttraction（新しいpointMesh境界条件のチュートリアルで使用されます。）&lt;br /&gt;
* symmetryPolyPatch : 平均方位を計算する際に、ゼロサイズの面を無視する。 これは、後の押し出しのために厚さゼロのレイヤーを追加できるようにするための便利な機能です。&lt;br /&gt;
&lt;br /&gt;
== 数値 ==&lt;br /&gt;
&lt;br /&gt;
=== 新しい融合離散化 ===&lt;br /&gt;
新しい融合離散化手法は、中間補間ステップを回避し、面ベースの積分と融合する。 機能は通常の離散化と同等です：&lt;br /&gt;
&lt;br /&gt;
* gradSchemes : fusedGauss&lt;br /&gt;
* divSchemes : fusedGauss&lt;br /&gt;
* laplacianSchemes : fusedGauss, fusedLeastSquares&lt;br /&gt;
&lt;br /&gt;
これらの方式はメモリ操作を回避するため、パッチ数が多い場合や、GPUがCPUのデータにアクセスするなど、メモリアクセスが遅いノードに有利である。 logs-gauss'がデフォルトの動作、'logs-fused'がドロップイン置換融合スキームを示しています：&lt;br /&gt;
&lt;br /&gt;
これは予備的な作業であり、明示的な操作しか考慮していないこと、また操作の順序が異なるために切り捨て誤差が異なることに注意されたい。&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/ncompressible/simpleFoam/pitzDaily_fused&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/src/fusedDiscretisation&lt;br /&gt;
&lt;br /&gt;
リクエストのマージ&lt;br /&gt;
&lt;br /&gt;
* MR!712&lt;br /&gt;
&lt;br /&gt;
=== 新しいGAMGアグロメレーション・キャッシング ===&lt;br /&gt;
Moving mesh cases automatically rebuild the agglomeration for every time step (or even every pressure corrector). For most mesh motion cases, however, the GAMG agglomeration table can be kept for some iterations before needing to be recreated. For solid-body motion there is no need to update the table since the agglomeration logic only depends on the matrix coefficients.&lt;br /&gt;
Caching is enabled via the new updateInterval entry. This can be a very large number for solid-body simulations; for general mesh motion this should be based on the expected mesh Courant number.&lt;br /&gt;
 &amp;lt;code&amp;gt;p&lt;br /&gt;
 {&lt;br /&gt;
     solver              GAMG;&lt;br /&gt;
     ..&lt;br /&gt;
     cacheAgglomeration  yes;&lt;br /&gt;
     updateInterval      100000;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
For verbose feedback on the agglomeration, activate the debug switches in the system/controlDict&lt;br /&gt;
 &amp;lt;code&amp;gt;DebugSwitches&lt;br /&gt;
 {&lt;br /&gt;
     // Print agglomeration&lt;br /&gt;
     GAMGAgglomeration   1;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
faceAreaWeight optimisation&lt;br /&gt;
&lt;br /&gt;
The default agglomeration method employs a pair-wise combination of 'cells' based on the magnitude of the face weight connecting the cells. Currently this uses a face weight derived from face area vectors, perturbed to avoid jitter in the agglomeration boundary on an axis-aligned mesh.&lt;br /&gt;
&lt;br /&gt;
When the updateInterval is not 1, the weights are calculated using unscaled, unperturbed face area magnitudes to be more consistent with Gaussian-type discretisation. This can yield a slight improvement in the number of GAMG cycles, e.g. the incompressible/pisoFoam/LES/motorBike tutorial using 10 iterations of simpleFoam showed an average reduction in cycles of around 10%:&lt;br /&gt;
&lt;br /&gt;
Note that algebraic agglomeration can run with updateInterval; but it&lt;br /&gt;
&lt;br /&gt;
* does not update cyclicA(C)MI and will do a bad job of the interpolation since it uses an old stencil at the coarser levels&lt;br /&gt;
* is based on the matrix coefficients which are changing during the simulation so would not be constant even during solid-body motion&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/pimpleFoam/RAS/propeller&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/finiteVolume/fvMatrices/solvers/GAMGSymSolver/GAMGAgglomerations/faceAreaPairGAMGAgglomeration&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request #707&lt;br /&gt;
&lt;br /&gt;
=== Improved lduMatrix, lduAddressing ===&lt;br /&gt;
The scalar matrix class lduMatrix has been extended to make it easier to work with cell-based algorithms.&lt;br /&gt;
The addressing lduAddressing includes a lowerCSRAddr accessor that returns the lower addressing, avoiding the additional indirection using loSortAddressing:&lt;br /&gt;
 &amp;lt;code&amp;gt;const labelUList&amp;amp; lduAddressing::lowerCSRAddr() const&amp;lt;/code&amp;gt;&lt;br /&gt;
This is constructed on-the-fly from the lowerAddr() addressing.&lt;br /&gt;
&lt;br /&gt;
Additionally, the matrix has been extended with a lowerCSR() accessor that returns the corresponding reordering of the lower() coefficients, or can be constructed directly:&lt;br /&gt;
 &amp;lt;code&amp;gt;const scalarField&amp;amp; lduMatrix::lowerCSR() const&amp;lt;/code&amp;gt;&lt;br /&gt;
Availability of the addressing can be checked using the hasLowerCSR() function.&lt;br /&gt;
&lt;br /&gt;
An example usage is given inside the lduMatrix::Amul routine:&lt;br /&gt;
 &amp;lt;code&amp;gt;if (hasLowerCSR())&lt;br /&gt;
 {&lt;br /&gt;
     // Note: lowerCSR constructed from lower if available, upper otherwise&lt;br /&gt;
     //       so is handling symmetric()&lt;br /&gt;
     const scalar* const __restrict__ lowercsrPtr = lowerCSR().begin();&lt;br /&gt;
 &lt;br /&gt;
     for (label cell=0; cell&amp;lt;nCells; cell++)&lt;br /&gt;
     {&lt;br /&gt;
         scalar&amp;amp; val = ApsiPtr[cell];&lt;br /&gt;
 &lt;br /&gt;
         val = diagPtr[cell]*psiPtr[cell];&lt;br /&gt;
 &lt;br /&gt;
         // Add lower contributions&lt;br /&gt;
         {&lt;br /&gt;
             const label start = loStartPtr[cell];&lt;br /&gt;
             const label end = loStartPtr[cell+1];&lt;br /&gt;
 &lt;br /&gt;
             for (label i = start; i &amp;lt; end; i++)&lt;br /&gt;
             {&lt;br /&gt;
                 const label nbrCell = lcsrPtr[i];&lt;br /&gt;
                 val += lowercsrPtr[i]*psiPtr[nbrCell];&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
         // Add upper contributions&lt;br /&gt;
         {&lt;br /&gt;
             const label start = oStartPtr[cell];&lt;br /&gt;
             const label end = oStartPtr[cell+1];&lt;br /&gt;
 &lt;br /&gt;
             for (label i = start; i &amp;lt; end; i++)&lt;br /&gt;
             {&lt;br /&gt;
                 const label nbrCell = uPtr[i];&lt;br /&gt;
                 val += upperPtr[i]*psiPtr[nbrCell];&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.H&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.H&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixATmul.C&lt;br /&gt;
&lt;br /&gt;
=== Improved wall distance ===&lt;br /&gt;
The near-wall distance field used in e.g. turbulence wall functions, has been updated for wall faces, changing the behaviour of cells with faces on multiple wall patches.&lt;br /&gt;
The nearest distance is calculated as the minimum distance from the cell centre to the local wall face or any local edge- or point-connected face. Note that this&lt;br /&gt;
&lt;br /&gt;
* is not parallel consistent&lt;br /&gt;
* only considers one face&lt;br /&gt;
&lt;br /&gt;
For more consistent behaviour the exact wall distance method should be employed.&lt;br /&gt;
&lt;br /&gt;
Previous behaviour (OpenFOAM v2406 and earlier) can be obtained by deactivating the useCombinedWallPatch info switch in etc/controlDict or the local system/controlDict:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;code&amp;gt;OptimisationSwitches&lt;br /&gt;
 {&lt;br /&gt;
     useCombinedWallPatch    0;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
With a skewed/tetified version of the cavity mesh, v2406 wall distance:&lt;br /&gt;
&lt;br /&gt;
The new behaviour looks across the side patches as well as the top patch:&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/meshTools/cellDist/cellDistFuncs.C&lt;br /&gt;
* $FOAM_SRC/finiteVolume/fvMesh/wallDist/nearWallDist/nearWallDist.C&lt;br /&gt;
* $FOAM_SRC/finiteVolume/fvMesh/wallDist/wallDistAddressing/wallDistAddressing.C&lt;br /&gt;
* $FOAM_SRC/meshTools/cellDist/patchWave/patchDataWave.C&lt;br /&gt;
* $FOAM_SRC/meshTools/cellDist/patchWave/patchWave.C&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request #700&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Issue #3215&lt;br /&gt;
&lt;br /&gt;
=== Community contribution: Improved adjoint optimisation ===&lt;br /&gt;
OpenFOAM v2412 adds some quality-of-life changes to the adjoint library.&lt;br /&gt;
The initial values of the design variables in topology optimisation can now be read through the 0/alpha field, which can be easily set using the topoSet/setFields utilities. Previously, this was only possible through 0/uniform/topOVars, which is harder to manipulate.&lt;br /&gt;
&lt;br /&gt;
The multiplier of the term added to the mathematical optimisation problem of ISQP and MMA to guarantee feasibility (named 'c') can now be given by a Function1, to allow its manipulation throughout the optimisation loop. A typical example would be setting it to a small value in the first few optimisation cycles, to focus on optimality rather than feasibility, and gradually increase it.&lt;br /&gt;
&lt;br /&gt;
Added the option to disable damping of the approximate Hessian in ISQP. In the general case, this is to be avoided but can accelerate the algorithm in some fringe cases.&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x-init&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/optimisation/adjointOptimisation&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request #710&lt;br /&gt;
&lt;br /&gt;
=== New zoneBlended scheme ===&lt;br /&gt;
The new zoneBlended scheme enables users to apply differencing schemes per-face-zone. Schemes are set in dictionary format according to:&lt;br /&gt;
 &amp;lt;code&amp;gt;divSchemes&lt;br /&gt;
 {&lt;br /&gt;
     .&lt;br /&gt;
     .&lt;br /&gt;
     div(phi,U)      Gauss zoneBlended&lt;br /&gt;
     {&lt;br /&gt;
         default         defaultScheme;&lt;br /&gt;
         faceZone1       scheme1;&lt;br /&gt;
         faceZone2       scheme2;&lt;br /&gt;
         ...&lt;br /&gt;
         faceZoneN       schemeN;&lt;br /&gt;
     }&lt;br /&gt;
     .&lt;br /&gt;
     .&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
The default entry specifies the background scheme; additional schemes can be set per faceZone, e.g. scheme1 is applied to faceZone1, scheme2 is applied to faceZone2 etc.&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/finiteVolume/interpolation/surfaceInterpolation/schemes/zoneBlended&lt;br /&gt;
&lt;br /&gt;
== Solvers and physical models ==&lt;br /&gt;
&lt;br /&gt;
=== Community contribution: Improved shielding function for SA-DDES turbulence model ===&lt;br /&gt;
The Delayed Detached-Eddy Simulation (DDES) model [1] is a hybrid RANS/LES approach which aims to model all attached boundary layers via RANS and massively separated flow regions via LES. To prevent the activation of the LES mode inside of attached boundary layers, an additional safeguard function referred to as &amp;quot;shielding&amp;quot; function is implemented. Unfortunately, the standard formulation [1] can collapse on fine grids, leading to a decline of wall shear stresses and potentially premature flow separation. These phenomena are often referred to as &amp;quot;modelled stress depletion&amp;quot; and &amp;quot;grid-induced separation&amp;quot; in the literature.&lt;br /&gt;
Deck &amp;amp; Renard [2] recently proposed an improved shielding function which offers more robust behaviour while still allowing a rapid switch to LES in separated shear layers. The formulation was developed for the ZDES mode 2 (2020) turbulence model, which is a variant of the SA-DDES model. The figures demonstrate the benefit of the improved shielding function for the flow around a NACA4412 airfoil with trailing edge separation. The grid on the suction side is strongly refined in the streamwise and spanwise directions, causing the standard shielding function to retreat and premature flow separation to occur. In contrast, the improved shielding function retains RANS mode in the entire attached boundary layer region on the suction side, and the prediction agrees well with reference RANS from the NASA code CFL3D.&lt;br /&gt;
&lt;br /&gt;
following turbulence modelling features are included in the v2412 release:&lt;br /&gt;
&lt;br /&gt;
* Improved shielding function formulation of Deck &amp;amp; Renard [2], implemented for SpalartAllmarasDDES, activated via the new option “shielding” (keyword “standard” selects the standard function [1], “ZDES2020” selects the improved formulation [2]).&lt;br /&gt;
* An additional option “usefP2” activates a more robust shielding mode for the Deck &amp;amp; Renard formulation (detailed in equation A.9 of [2]).&lt;br /&gt;
&lt;br /&gt;
Example usage&lt;br /&gt;
 &amp;lt;code&amp;gt;simulationType LES;&lt;br /&gt;
 LES&lt;br /&gt;
 {&lt;br /&gt;
     LESModel         SpalartAllmarasDDES;&lt;br /&gt;
     SpalartAllmarasDDESCoeffs&lt;br /&gt;
     {&lt;br /&gt;
         // optional keywords for shielding function&lt;br /&gt;
         shielding    ZDES2020;    // default: standard&lt;br /&gt;
         usefP2       false;       // default: false&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     delta            maxDeltaxyz;&lt;br /&gt;
 &lt;br /&gt;
     turbulence       on;&lt;br /&gt;
     printCoeffs      on;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Note that the improved shielding function is not implemented for the kOmegaSSTDDES model, since the formulation presented in [2] was specifically derived for SA-based DDES.&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/pimpleFoam/LES/NACA4412&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* The improved shielding function of Deck &amp;amp; Renard (2020) [2] was implemented by Upstream CFD GmbH and integrated into OpenFOAM in collaboration with ESI-UK Ltd with funding by Volkswagen AG.&lt;br /&gt;
&lt;br /&gt;
References&lt;br /&gt;
&lt;br /&gt;
* [1] P. Spalart, S. Deck, M. Shur, K. Squires, M. Strelets, and A. Travin. A new version of detached-eddy simulation, resistant to ambiguous grid densities. Theoretical and Computational Fluid Dynamics, 20(3):181–195, 2006.&lt;br /&gt;
* [2] Deck, S., &amp;amp; Renard, N. (2020). Towards an enhanced protection of attached boundary layers in hybrid RANS/LES methods. Journal of Computational Physics, vol. 400, pp. 108970, 2020.&lt;br /&gt;
&lt;br /&gt;
=== Improved Lagrangian injection model: coneNozzleInjection ===&lt;br /&gt;
This release introduces two minor enhancements to the coneNozzleInjection model:&lt;br /&gt;
&lt;br /&gt;
* A new injection method that distributes particles uniformly at angular intervals across a disc;&lt;br /&gt;
* Inclusion of the injector's estimated speed to particle injection. While there is no change in the input or output behaviour for static injectors, the velocity of particles injected from moving injectors now includes the injector velocity.&lt;br /&gt;
&lt;br /&gt;
A minimal example usage is as follows:&lt;br /&gt;
 &amp;lt;code&amp;gt;injectionModels&lt;br /&gt;
 {&lt;br /&gt;
     model1&lt;br /&gt;
     {&lt;br /&gt;
         type    coneNozzleInjection;&lt;br /&gt;
 &lt;br /&gt;
         ...&lt;br /&gt;
 &lt;br /&gt;
         // The new injection method: discSegments&lt;br /&gt;
         injectionMethod         discSegments;&lt;br /&gt;
         nInjectors              10;&lt;br /&gt;
         initialInjectorDir      (1 0 0);&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request #719&lt;br /&gt;
&lt;br /&gt;
=== Improved solid-body motion function: tabulated6DoFMotion ===&lt;br /&gt;
The tabulated6DoFMotion model now includes a linear interpolation option. A minimal example usage is as follows:&lt;br /&gt;
 &amp;lt;code&amp;gt;solidBodyMotionFunction tabulated6DoFMotion;&lt;br /&gt;
 &lt;br /&gt;
 interpolationScheme     linear;  // spline;&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/meshTools/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.H&lt;br /&gt;
&lt;br /&gt;
=== New finite-area framework: Film-separation models ===&lt;br /&gt;
Finite-area-based film curvature separation models have been updated, and a new film-separation model added for sharp edges. These updates improve the accuracy and flexibility of film-separation predictions under a wide range of geometric and flow conditions.&lt;br /&gt;
&lt;br /&gt;
Key changes and additions:&lt;br /&gt;
&lt;br /&gt;
* Owen-Ryley model:&lt;br /&gt;
** The existing curvatureSeparation model has been re-implemented as the OwenRyleyModel, based on the work of Owen &amp;amp; Ryley (1983). This model assumes:&lt;br /&gt;
*** Once the film detaches from the surface, it immediately breaks into a fine mist of droplets. As a result, it may not accurately represent scenarios where the liquid leaves as a cohesive mass.&lt;br /&gt;
*** The film flows around a rounded corner with a fixed radius, potentially limiting its applicability at sharp corners where curvature is not well-defined.&lt;br /&gt;
*** Films are thinner than 1e-4 m, with viscous effects and surface disturbances neglected.&lt;br /&gt;
*** Uniform film velocity and thickness.&lt;br /&gt;
*** The separation criterion is not explicitly formulated, but rather inferred based on the model’s assumptions.&lt;br /&gt;
* New film-separation model for sharp edges:&lt;br /&gt;
** A new model, FriedrichModel has been introduced to compute film-separation properties at sharp edges, covering both full and partial film-separation scenarios. This model is based on the work of Friedrich et al. (2008) and Zhang et al. (2018):&lt;br /&gt;
*** Friedrich et al. (2008):&lt;br /&gt;
**** Developed a separation criterion rooted in force equilibrium within a control volume at the detachment point.&lt;br /&gt;
**** Assumes a maximum film thickness of 1e-4 m.&lt;br /&gt;
**** Considers surface tension, gravity, and film inertia.&lt;br /&gt;
**** Known to be relatively reliable, though it can predict premature rupture.&lt;br /&gt;
**** Serves as the separation method implemented in ANSYS Forte 18.2.&lt;br /&gt;
*** Zhang et al. (2018):&lt;br /&gt;
**** Enhanced the Friedrich et al. model by introducing a mass-fraction criterion. Unlike models that assume the entire film in a cell detaches simultaneously, the Zhang et al. approach detaches only a fraction of the film based on these criteria. This leads to more realistic predictions of how much film actually separates.&lt;br /&gt;
&lt;br /&gt;
Comprehensive serial and parallel test cases were conducted to ensure robust corner and separation identification, involving cases with sharp edges of various shapes and orientations relative to the flow direction, and multiple spatial resolutions and parallelization configurations.&lt;br /&gt;
&lt;br /&gt;
As a result, users can expect improved consistency and reliability when simulating film-separation phenomena, regardless of mesh complexity or computational setup.&lt;br /&gt;
&lt;br /&gt;
A minimal example usage is as follows:&lt;br /&gt;
 &amp;lt;code&amp;gt;injectionModels&lt;br /&gt;
 {&lt;br /&gt;
     filmSeparation&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 filmSeparationCoeffs&lt;br /&gt;
 {&lt;br /&gt;
     model              OwenRyley;&lt;br /&gt;
     definedPatchRadii  0;&lt;br /&gt;
     minInvR1           0;&lt;br /&gt;
     deltaByR1Min       0;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/filmSeparation/filmSeparationModels&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request #714&lt;br /&gt;
&lt;br /&gt;
=== Improved simpleFoam: new dynamicMesh support ===&lt;br /&gt;
simpleFoam now supports a dynamicFvMesh, similar to pimpleFoam. It reads constant/dynamicMeshDict if it is present and calls its update() routine every iteration. This enables, e.g. use of steady-state simulations with dynamic mesh refinement/unrefinement.&lt;br /&gt;
&lt;br /&gt;
==== More information ====&lt;br /&gt;
&lt;br /&gt;
* Issue #3269&lt;br /&gt;
&lt;br /&gt;
== Post-processing ==&lt;br /&gt;
&lt;br /&gt;
=== New report generation ===&lt;br /&gt;
The foamReport function object provides a template-based text substitution system to collect OpenFOAM run data. The user-supplied template file can take the form of any plain-text file, e.g. markdown (.md), web (.html) and latex (.tex). Entries supplied using double handlebar syntax &amp;lt;nowiki&amp;gt;{{ENTRY}}&amp;lt;/nowiki&amp;gt; are replaced (case insensitive). A set of common built-ins entries beginning with OF_ are provided, e.g.&lt;br /&gt;
&lt;br /&gt;
* OF_HOST: Host machine name&lt;br /&gt;
* OF_CASE_NAME: Case name&lt;br /&gt;
* OF_API: OpenFOAM API level&lt;br /&gt;
* OF_DATE_START: Date when job was started&lt;br /&gt;
* OF_CASE_PATH: file path to case&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
The full set of built-in and user-supplied keys can be written using the debugKeys entry. User-defined substitutions are listed in dictionary format, where substitution models include:&lt;br /&gt;
&lt;br /&gt;
* fileRegEx : regular expression from file&lt;br /&gt;
* functionObjectValue : retrieve function object result&lt;br /&gt;
* dictionaryValue : value from dictionary - file-based or from registry lookup&lt;br /&gt;
* environmentVariable : replace keyword with environment variable&lt;br /&gt;
* userValue : replace keyword with user-supplied string:&lt;br /&gt;
&lt;br /&gt;
Example usage based on a markdown template:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;code&amp;gt;foamReport1&lt;br /&gt;
 {&lt;br /&gt;
     // Mandatory entries (unmodifiable)&lt;br /&gt;
     type            foamReport;&lt;br /&gt;
     libs            (utilityFunctionObjects);&lt;br /&gt;
 &lt;br /&gt;
     template        &amp;quot;/myReportTemplate.md&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
     substitutions&lt;br /&gt;
     {&lt;br /&gt;
         divSchemes1&lt;br /&gt;
         {&lt;br /&gt;
             type        dictionaryValue;&lt;br /&gt;
             object      fvSchemes;&lt;br /&gt;
 &lt;br /&gt;
             entries&lt;br /&gt;
             {&lt;br /&gt;
                 divSchemes      &amp;quot;divSchemes&amp;quot;;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
         fvSolution1&lt;br /&gt;
         {&lt;br /&gt;
             type        dictionaryValue;&lt;br /&gt;
             path        &amp;quot;/fvSolution&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
             entries&lt;br /&gt;
             {&lt;br /&gt;
                 solver_p        &amp;quot;solvers/p/solver&amp;quot;;&lt;br /&gt;
                 solver_p_tol    &amp;quot;solvers/p/tolerance&amp;quot;;&lt;br /&gt;
                 solver_p_reltol &amp;quot;solvers/p/relTol&amp;quot;;&lt;br /&gt;
                 solver_U        &amp;quot;solvers/U/solver&amp;quot;;&lt;br /&gt;
                 solver_U_tol    &amp;quot;solvers/U/tolerance&amp;quot;;&lt;br /&gt;
                 solver_U_reltol &amp;quot;solvers/U/relTol&amp;quot;;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
         controlDict1&lt;br /&gt;
         {&lt;br /&gt;
             type        dictionaryValue;&lt;br /&gt;
             path        &amp;quot;/controlDict&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
             entries&lt;br /&gt;
             {&lt;br /&gt;
                 initial_deltaT       &amp;quot;deltaT&amp;quot;;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
         continuityErrors&lt;br /&gt;
         {&lt;br /&gt;
             type        functionObjectValue;&lt;br /&gt;
             functionObject continuityError1;&lt;br /&gt;
 &lt;br /&gt;
             entries&lt;br /&gt;
             {&lt;br /&gt;
                 cont_error_local    local;&lt;br /&gt;
                 cont_error_global   global;&lt;br /&gt;
                 cont_error_cumulative cumulative;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     // Optional entries (runtime modifiable)&lt;br /&gt;
 &lt;br /&gt;
     // Inherited entries&lt;br /&gt;
     ...&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Example markdown-based template file:&lt;br /&gt;
 &amp;lt;code&amp;gt;# &amp;lt;nowiki&amp;gt;{{OF_EXECUTABLE}}&amp;lt;/nowiki&amp;gt; : &amp;lt;nowiki&amp;gt;{{OF_CASE_NAME}}&amp;lt;/nowiki&amp;gt; tutorial&lt;br /&gt;
 &lt;br /&gt;
 - Case: &amp;lt;nowiki&amp;gt;{{OF_CASE_PATH}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 - Submission: &amp;lt;nowiki&amp;gt;{{OF_CLOCK_START}}&amp;lt;/nowiki&amp;gt; on &amp;lt;nowiki&amp;gt;{{OF_DATE_START}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 - Report time: &amp;lt;nowiki&amp;gt;{{OF_CLOCK_NOW}}&amp;lt;/nowiki&amp;gt; on &amp;lt;nowiki&amp;gt;{{OF_DATE_NOW}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;##&amp;lt;/nowiki&amp;gt; Run information&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Property       |&amp;lt;/nowiki&amp;gt; Value              |&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;|----------------|--------------------|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Host           |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_HOST}}&amp;lt;/nowiki&amp;gt;        |&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Processors     |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_NPROCS}}&amp;lt;/nowiki&amp;gt;      |&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Time steps     |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_TIME_INDEX}}&amp;lt;/nowiki&amp;gt;  |&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Initial deltaT |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{initial_deltaT}}&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Current deltaT |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_TIME_DELTAT}}&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Execution time |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{executionTime}}&amp;lt;/nowiki&amp;gt;  |&lt;br /&gt;
 &lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;##&amp;lt;/nowiki&amp;gt; OpenFOAM information&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Property       |&amp;lt;/nowiki&amp;gt; Value              |&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;|----------------|--------------------|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Version        |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_VERSION}}&amp;lt;/nowiki&amp;gt;     |&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| API            |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_API}}&amp;lt;/nowiki&amp;gt;         |&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Patch          |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_PATCH}}&amp;lt;/nowiki&amp;gt;       |&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Build          |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_BUILD}}&amp;lt;/nowiki&amp;gt;       |&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Architecture   |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_BUILD_ARCH}}&amp;lt;/nowiki&amp;gt;  |&lt;br /&gt;
 &lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;##&amp;lt;/nowiki&amp;gt; Mesh statistics&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Property          |&amp;lt;/nowiki&amp;gt; Value                |&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;|-------------------|----------------------|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Bounds            |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_MESH_BOUNDS_MIN}}&amp;lt;/nowiki&amp;gt;&amp;lt;nowiki&amp;gt;{{OF_MESH_BOUNDS_MAX}}&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Number of cells   |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_MESH_NCELLS}}&amp;lt;/nowiki&amp;gt;   |&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Number of faces   |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_MESH_NFACES}}&amp;lt;/nowiki&amp;gt;   |&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Number of points  |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_MESH_NPOINTS}}&amp;lt;/nowiki&amp;gt;  |&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Number of patches |&amp;lt;/nowiki&amp;gt; &amp;lt;nowiki&amp;gt;{{OF_MESH_NPATCHES}}&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
 &lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;##&amp;lt;/nowiki&amp;gt; Linear solvers&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| Property |&amp;lt;/nowiki&amp;gt; Value          | tolerance(rel)   | Tolerance(abs)      |&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;|----------|----------------|------------------|---------------------|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| p        |&amp;lt;/nowiki&amp;gt; `&amp;lt;nowiki&amp;gt;{{solver_p}}&amp;lt;/nowiki&amp;gt;` | &amp;lt;nowiki&amp;gt;{{solver_p_tol}}&amp;lt;/nowiki&amp;gt; | &amp;lt;nowiki&amp;gt;{{solver_p_reltol}}&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;| U        |&amp;lt;/nowiki&amp;gt; `&amp;lt;nowiki&amp;gt;{{solver_U}}&amp;lt;/nowiki&amp;gt;` | &amp;lt;nowiki&amp;gt;{{solver_u_tol}}&amp;lt;/nowiki&amp;gt; | &amp;lt;nowiki&amp;gt;{{solver_u_reltol}}&amp;lt;/nowiki&amp;gt; |&lt;br /&gt;
 &lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;##&amp;lt;/nowiki&amp;gt; Numerical scehemes&lt;br /&gt;
 &lt;br /&gt;
 The chosen divergence schemes comprised:&lt;br /&gt;
 &lt;br /&gt;
 [[利用者:Mmer547|mmer547]] ([[利用者・トーク:Mmer547|トーク]])&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{divSchemes}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 [[利用者:Mmer547|mmer547]] ([[利用者・トーク:Mmer547|トーク]])&lt;br /&gt;
 &lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;##&amp;lt;/nowiki&amp;gt; Graphs&lt;br /&gt;
 &lt;br /&gt;
 Residuals&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;![]({{OF_CASE_PATH}}&amp;lt;/nowiki&amp;gt;/postProcessing/residualGraph1/&amp;lt;nowiki&amp;gt;{{OF_TIME}}&amp;lt;/nowiki&amp;gt;/residualGraph1.svg)&lt;br /&gt;
 &lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;##&amp;lt;/nowiki&amp;gt; Results&lt;br /&gt;
 &lt;br /&gt;
 Forces&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;![]({{OF_CASE_PATH}}&amp;lt;/nowiki&amp;gt;/postProcessing/forceCoeffsGraph1/&amp;lt;nowiki&amp;gt;{{OF_TIME}}&amp;lt;/nowiki&amp;gt;/forceCoeffsGraph1.svg)&lt;br /&gt;
 &lt;br /&gt;
 ---&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/utilities/foamReport&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/simpleFoam/motorBike&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request #716&lt;br /&gt;
&lt;br /&gt;
=== New graph generation ===&lt;br /&gt;
The graphFunctionObject enables users to generate SVG graphs of function object result values, e.g. to show the evolution residuals, or reduced data such as force coefficients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A minimal example is shown below:&lt;br /&gt;
 &amp;lt;code&amp;gt;// Generate the result values&lt;br /&gt;
 solverInfo1&lt;br /&gt;
 {&lt;br /&gt;
     type            solverInfo;&lt;br /&gt;
     libs            (utilityFunctionObjects);&lt;br /&gt;
     fields          (U p);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 // Describe the graph&lt;br /&gt;
 residualGraph&lt;br /&gt;
 {&lt;br /&gt;
     // Mandatory entries&lt;br /&gt;
     libs            (utilityFunctionObjects);&lt;br /&gt;
 &lt;br /&gt;
     functions&lt;br /&gt;
     {&lt;br /&gt;
         //entry&lt;br /&gt;
         //{&lt;br /&gt;
         //    // Mandatory entries&lt;br /&gt;
         //    object      ;&lt;br /&gt;
         //    entry       ;&lt;br /&gt;
         //&lt;br /&gt;
         //    // Optional entries&lt;br /&gt;
         //    title       ;      // Default: take from dict name&lt;br /&gt;
         //    colour      ; // labels in range 0-255 (255 0 0)&lt;br /&gt;
         //    dashes      ;   // (4 1 1)&lt;br /&gt;
         //}&lt;br /&gt;
         Ux&lt;br /&gt;
         {&lt;br /&gt;
             object      solverInfo1;&lt;br /&gt;
             entry       Ux_initial;&lt;br /&gt;
         }&lt;br /&gt;
         Uy&lt;br /&gt;
         {&lt;br /&gt;
             object      solverInfo1;&lt;br /&gt;
             entry       Uy_initial;&lt;br /&gt;
         }&lt;br /&gt;
         Uz&lt;br /&gt;
         {&lt;br /&gt;
             object      solverInfo1;&lt;br /&gt;
             entry       Uz_initial;&lt;br /&gt;
         }&lt;br /&gt;
         p&lt;br /&gt;
         {&lt;br /&gt;
             object      solverInfo1;&lt;br /&gt;
             entry       p_initial;&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     // Optional entries&lt;br /&gt;
     //xMin            ;&lt;br /&gt;
     //xMax            ;&lt;br /&gt;
     //yMin            ;&lt;br /&gt;
     //yMax            ;&lt;br /&gt;
     //xlabel          ;  // &amp;quot;Iteration&amp;quot;;&lt;br /&gt;
     //ylabel          ;  // &amp;quot;log10(Initial residual)&amp;quot;;&lt;br /&gt;
     //width           ;&lt;br /&gt;
     //height          ;&lt;br /&gt;
     //strokeWidth     ;&lt;br /&gt;
     //logScaleX       ;&lt;br /&gt;
     //logScaleY       ;&lt;br /&gt;
     //drawGrid        ;&lt;br /&gt;
 &lt;br /&gt;
     // Inherited entries&lt;br /&gt;
     //...&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/utilities/graphFunctionObject&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/simpleFoam/motorBike&lt;br /&gt;
&lt;br /&gt;
=== New finite-area function object: surfaceCourantNumber ===&lt;br /&gt;
A new finite-area function object, surfaceCourantNumber, calculates the surface Courant number field at finite-area face centres.&lt;br /&gt;
This represents a conceptual shift from approaches like those used in the liquidFilmFoam solver, where the Courant number is computed at edge centres. By evaluating the Courant number at face centres, surfaceCourantNumber can provide a more localized and potentially more accurate measure for surface-based flow analyses.&lt;br /&gt;
&lt;br /&gt;
A minimal example usage is as follows:&lt;br /&gt;
 &amp;lt;code&amp;gt;surfaceCourantNumber1&lt;br /&gt;
 {&lt;br /&gt;
     // Mandatory entries&lt;br /&gt;
     type        surfaceCourantNumber;&lt;br /&gt;
     libs        (regionFaModels);&lt;br /&gt;
 &lt;br /&gt;
     // Optional entries&lt;br /&gt;
     area        &amp;lt;word&amp;gt;;&lt;br /&gt;
     result      &amp;lt;word&amp;gt;;&lt;br /&gt;
     phis        &amp;lt;word&amp;gt;;&lt;br /&gt;
     rho         &amp;lt;word&amp;gt;;&lt;br /&gt;
 &lt;br /&gt;
     // Inherited entries&lt;br /&gt;
     ...&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/regionFaModels/functionObjects/surfaceCourantNumber/surfaceCourantNumber.H&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/finiteArea/liquidFilmFoam/cylinder&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request #706&lt;br /&gt;
&lt;br /&gt;
=== Improved solver function objects: Outer-loop convergence check ===&lt;br /&gt;
A convergence check for outer loops has been added to the solver function objects (scalarTransport, energyTransport and electricPotential), enabling the function object to detect and terminate when further iterations are no longer necessary. This improvement can help reduce computational overhead and streamline the solution process by eliminating unnecessary loops once convergence has been achieved.&lt;br /&gt;
A minimal example usage is as follows:&lt;br /&gt;
 &amp;lt;code&amp;gt;scalarTransport1&lt;br /&gt;
 {&lt;br /&gt;
     // Optional entries&lt;br /&gt;
     tolerance    &amp;lt;scalar&amp;gt;;&lt;br /&gt;
     ...&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/solvers/scalarTransport/scalarTransport.H&lt;br /&gt;
* $FOAM_SRC/functionObjects/solvers/energyTransport/energyTransport.H&lt;br /&gt;
* $FOAM_SRC/functionObjects/solvers/electricPotential/electricPotential.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request #699&lt;br /&gt;
&lt;br /&gt;
== Parallel ==&lt;br /&gt;
&lt;br /&gt;
=== Improved Non-Blocking Exchange (NBX) ===&lt;br /&gt;
In OpenFOAM-v2306 an experimental 'non-blocking consensus exchange' (NBX) option was introduced - see configuration switches&lt;br /&gt;
It can have a dramatic effect on extreme core counts with moving meshes. On a case with multiple cyclicAMI on 8192 cores and the entry (in etc/controlDict or local system/controlDict):&lt;br /&gt;
 &amp;lt;code&amp;gt;OptimisationSwitches&lt;br /&gt;
 {&lt;br /&gt;
     // Additional PstreamBuffers tuning parameters (experimental)&lt;br /&gt;
     //    0 : (legacy PEX)&lt;br /&gt;
     //        * all-to-all for buffer sizes [legacy approach]&lt;br /&gt;
     //        * point-to-point for contents&lt;br /&gt;
     //    1 : (hybrid PEX)&lt;br /&gt;
     //        * NBX for buffer sizes [new approach]&lt;br /&gt;
     //        * point-to-point for contents&lt;br /&gt;
     pbufs.tuning    1;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Provided the following timings:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|NBX&lt;br /&gt;
|Time (s)&lt;br /&gt;
|-&lt;br /&gt;
|No&lt;br /&gt;
|28k&lt;br /&gt;
|-&lt;br /&gt;
|Yes&lt;br /&gt;
|18k&lt;br /&gt;
|}&lt;br /&gt;
Note that NBX does not guarantee that the 'receive and consume' order is the same as the 'send order', meaning the truncation errors may accumulate differently. This is more sensitive for longer messages, e.g. geometry in cyclicAMI, and care must be taken to ensure a unique 'tag' (not the default Pstream::msgType()).&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/meshTools/AMIInterpolation/AMIInterpolation&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request #704&lt;br /&gt;
&lt;br /&gt;
=== Improved finite-area framework ===&lt;br /&gt;
Several finite-area framework routines exhibit inconsistent behaviour under parallel operation, affecting planar and non-planar finite-area meshes—regardless of skewness or non-orthogonality. These inconsistencies mainly stem from differing algorithms applied to internal- and processor-edges.&lt;br /&gt;
For example, when a corner edge of a non-planar finite-area mesh is shared between two processors, it can introduce a subtle positive/negative perturbation in the tangential direction. Over time, this perturbation may propagate and lead to unexpected flow behaviour, such as film separation.&lt;br /&gt;
&lt;br /&gt;
A series of carefully tested commits improve parallel consistency, mainly to address the following core routines:&lt;br /&gt;
 &amp;lt;code&amp;gt;makeLPN&lt;br /&gt;
 makeWeights&lt;br /&gt;
 makeDeltaCoeffs&lt;br /&gt;
 makeCorrectionVectors&lt;br /&gt;
 makeSkewCorrectionVectors&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/finiteArea/faMesh/faMeshDemandDrivenData.C&lt;br /&gt;
* $FOAM_SRC/finiteArea/faMesh/faPatches/constraint/processor/processorFaPatch.C&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request #708&lt;br /&gt;
&lt;br /&gt;
=== Improved reconstructParMesh ===&lt;br /&gt;
The utility reconstructParMesh can reconstruct finite-area ('faMesh') meshes, useful when the finite-area mesh is generated in parallel.&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_UTILITIES/parallelProcessing/reconstructParMesh&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request #711&lt;br /&gt;
&lt;br /&gt;
=== Improved distributed tri-surfaces ===&lt;br /&gt;
The distributedTriSurfaceMesh can now run with a different decomposition method compared to the rest of the simulation, by specifying a decomposition method in the relevant dictionary, e.g. system/snappyHexMeshDict:&lt;br /&gt;
 &amp;lt;code&amp;gt;box&lt;br /&gt;
 {&lt;br /&gt;
     file &amp;quot;box.obj&amp;quot;;&lt;br /&gt;
     type distributedTriSurfaceMesh;&lt;br /&gt;
 &lt;br /&gt;
     // Override the decomposition method&lt;br /&gt;
     numberOfSubdomains  8;&lt;br /&gt;
     method              hierarchical;&lt;br /&gt;
     n                   (2 2 2);&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
It can optionally run without duplicating triangles by specifying&lt;br /&gt;
 &amp;lt;code&amp;gt;decomposeUsingBbs   false;&amp;lt;/code&amp;gt;&lt;br /&gt;
This avoids excessive memory usage, and stores a per-vertex normal and so can be extended to have smooth normals.&lt;br /&gt;
&lt;br /&gt;
With both changes we now recover identical results from running non-parallel or parallel on a simple mesh. In the figure below a slice shows the non-parallel mesh as a blue surface with the parallel mesh as red lines.&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/snappyHexMesh/distributedTriSurfaceMesh&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request #720&lt;br /&gt;
&lt;br /&gt;
== Usability ==&lt;br /&gt;
&lt;br /&gt;
=== Updated to C++17 ===&lt;br /&gt;
The minimum C++ standard has been increased from C++14 to C++17 to help support ongoing GPU developments&lt;br /&gt;
&lt;br /&gt;
* Commit: #44f7a726&lt;br /&gt;
* Source: $WM_PROJECT_DIR/wmake/rules&lt;br /&gt;
&lt;br /&gt;
=== New tutorial demonstrations ===&lt;br /&gt;
&lt;br /&gt;
==== missingCorner ====&lt;br /&gt;
This is a simple tutorial to showcase various mesh utilities:&lt;br /&gt;
&lt;br /&gt;
* cellDecomposition functionObject to create a tet mesh&lt;br /&gt;
* polyDualMesh to convert the tets to polyhedra&lt;br /&gt;
* surfaceMeshExtract to create additional pointPatches&lt;br /&gt;
* moveDynamicMesh to slightly morph the mesh. The mesh morphing is done using a Laplacian point smoothing ignoring the feature constraints so does a bad job of improving the mesh quality.&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/field/cellDecomposer&lt;br /&gt;
* $FOAM_UTILITIES/mesh/manipulation/polyDualMesh&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/polyDualMesh/missingCorner&lt;br /&gt;
&lt;br /&gt;
==== damBreakLeakage ====&lt;br /&gt;
This is a variant of the damBreak tutorial to showcase using cyclicACMI to control flow. In this tutorial&lt;br /&gt;
&lt;br /&gt;
* additional (cyclicACMI) baffles block the flow of the liquid&lt;br /&gt;
* at time 0.5s a set of faces at the bottom half of the blockage open&lt;br /&gt;
* this is done through a cyclicACMI which uses the scale factor to convert from fully uncoupled, i.e. wall, to fully coupled.&lt;br /&gt;
* the scale is set through a coded Function1 entry in the patch definition in constant/polyMesh/boundary&lt;br /&gt;
* Initial condition: closed blockage (red)&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/primitives/functions/Function1/Coded&lt;br /&gt;
* $FOAM_SRC/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/multiphase/interFoam/RAS/damBreakLeakage&lt;br /&gt;
&lt;br /&gt;
== Community ==&lt;br /&gt;
The release of OpenFOAM v2412 builds upon ongoing efforts to engage the wider OpenFOAM community to unify OpenFOAM developments, acknowledging the efforts of contributions from outside of the core OpenFOAM team.&lt;br /&gt;
&lt;br /&gt;
Some developments are integrated directly into the main code base, e.g.&lt;br /&gt;
&lt;br /&gt;
* Community contribution: Improved adjoint optimisation more...&lt;br /&gt;
* Community contribution: Improved shielding function for SA-DDES turbulence model more...&lt;br /&gt;
&lt;br /&gt;
If you would like to explore the possibility to collaborate and include your developments, please contact us.&lt;br /&gt;
&lt;br /&gt;
=== New contributions to the Turbulence Technical Committee repository ===&lt;br /&gt;
We are pleased to announce the release of the following two repositories under the umbrella of the Turbulence Technical Committee repository:&lt;br /&gt;
&lt;br /&gt;
* gammaSST : A three-equation transition and turbulence model.&lt;br /&gt;
* HelicitySpalartAllmaras : Spalart-Allmaras turbulence model with Liu et al.'s helicity correction.&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/$WM_PROJECT_DIR/plugins/turbulence-community&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* OpenCFD would like to acknowledge and thank Jiří Fürst, Jeff Defoe, and their colleagues for their valuable contributions and assistance.&lt;br /&gt;
&lt;br /&gt;
=== 謝辞 ===&lt;br /&gt;
&lt;br /&gt;
==== 謝辞 ====&lt;br /&gt;
OpenFOAMに貢献してくれた以下の方々に感謝します。&lt;br /&gt;
&lt;br /&gt;
==== 特別感謝 ====&lt;br /&gt;
&lt;br /&gt;
* Johan Rønby Pedersen: マルチフェーズフレームワークの並列化に貢献&lt;br /&gt;
* マーカス・ノードランド：流体-多孔質界面のモデリングに関する技術的な議論に協力してくれている。&lt;br /&gt;
&lt;br /&gt;
==== 課題追跡への貢献 ====&lt;br /&gt;
&lt;br /&gt;
* ilyapopov (Ilya Popov) リポジトリ内の設定ファイルの迷子？ GL#3192&lt;br /&gt;
* carlo.fiorina (carlo fiorina) v2406 で READ_IF_PRESENT の動作に一貫性がない GL#3193&lt;br /&gt;
* xpqiu (xpqiu) SPDP モードで実行するとソルバがクラッシュする GL#3194&lt;br /&gt;
* gng015 (gng) reconstructParMesh がバイナリでメッシュが大きすぎる場合，メッシュの再構築でスタックする GL#3196&lt;br /&gt;
* stefano.garbin (Stefano Garbin) OF2406 で CFMESH 実行ファイルが見つからない GL#3198&lt;br /&gt;
* duyquang.tdm.bd (Quang Nguyen) OpenFOAM-v2406 での ccmToFoam のクロスコンパイル時のエラー GL#3199&lt;br /&gt;
* ChrisSessler (Christian Sessler) multiComponentMixture と組み合わせた hConst がすべての参照エンタルピーに最初の種の Tref を使用する Href GL#3200&lt;br /&gt;
* ChennaK85 (Chennakesava Kadapa) sixDoFRigidBody の Newmark および Crank-Nicolson スキームの問題 GL#3202&lt;br /&gt;
* santiagomarquezd (Santiago Marquez Damian) 3 次元未満でテンソルの球面部分が間違って計算される GL#3203&lt;br /&gt;
* DL (David Ludlow) overPimpleDyMFoam と v2406 における kOmegaSST 分割の不具合 GL#3204&lt;br /&gt;
* bPaillard (Benoit Paillard) オーバーセットチュートリアルにおける圧力変動 GL#3207&lt;br /&gt;
* mzy (Zeyao Ma) icoReactingMultiphaseInterFoam V2206 で凝固問題を解くと固相が常に動いてしまう GL#3208&lt;br /&gt;
* zzphub (Zhipeng Zhang) 2306 の debian12 ソースビルドに失敗 GL#3210&lt;br /&gt;
* Charlfmare (Charl Mare) SwirlFanVelocity が新しい OF バージョンで動作しない GL#3211&lt;br /&gt;
* lizhisongsjtu (zhisong li) bug: solitary wave - McCowan and Grimshaw GL#3212&lt;br /&gt;
* daniel.jasinski (Daniel) buoyantSimpleFoam の圧力制御の欠落 GL#3213&lt;br /&gt;
* pferro (Paulin FERRO) solidificationMeltingSource がバグっぽい GL#3214&lt;br /&gt;
* rbonin (Rémi Bonin) precompiled OpenFOAM (v2406 / Windows 10) で表面膜を使用すると reactingParcelFoam がクラッシュする GL#3216&lt;br /&gt;
* takuya (takuya yamamoto) blockMeshDict の project 関数のチュートリアルの記述が正しくない GL#3217&lt;br /&gt;
* snaka (Shinji Nakagawa) foamMonitor が Gnuplot バージョン 6 の 'reread' コマンドの非推奨のためにグラフの更新に失敗する GL#3219&lt;br /&gt;
* ilyapopov (Ilya Popov) energyTransport が dynamicRefineFvMesh と組み合わせて動作しない GL#3221&lt;br /&gt;
* ntilton (Nils Tilton) fixedProfile 条件が最後のタイムステップからシミュレーションを再開しない GL#3223&lt;br /&gt;
* porori (takashi suzuki) diffusionGasEvaporation: 例題の使い方とチュートリアルが不適切 &amp;lt;= アントワーヌ方程式の定義が一般的でない（第2項の符号が逆）． GL#3224&lt;br /&gt;
* raphalace (Raphael Aranha) SymmetryPlane と ABL シミュレーションの不具合 GL#3226&lt;br /&gt;
* porori (takashi suzuki) snappyHexMesh v2012 以降で、サーフェスがサイクリックタイプの境界に接続されている場合、サーフェスレイヤーを追加できない。 GL#3227&lt;br /&gt;
* Skolo (Robert) wallShearStress, yPlus の入力フィールドを指定できるようにした GL#3228&lt;br /&gt;
* flex99 (Felix Burger) メッシュとフィールドをインポートする際の vtkUnstructuredToFoam エラー GL#3230&lt;br /&gt;
* acassinelli (Andrea Cassinelli) v2406 が v2312 より最大 ~3% 遅くなった GL#3231&lt;br /&gt;
* croquemadame (Juan Salazar) 後処理のためにフォームファイルのサーフェスフォーマットをディスクから指定の場所に読み込むクラス (foamSurfaceReader) GL#3232&lt;br /&gt;
* gerlero (Gabriel Gerlero) CGAL 6 との互換性 GL#3234&lt;br /&gt;
* xuegy (Guanyang Xue) SolidificationMeltingSource の異なる液相線と固相線 GL#3235&lt;br /&gt;
* gerlero (Gabriel Gerlero) dl.openfoam.comがGitHub Actionsからのリクエストを拒否している GL#3236&lt;br /&gt;
* cthorenz (Carsten Thorenz) interFoam： 可変密度乱流モデル使用時のせん断応力計算が正しくない / 動作しない GL#3237&lt;br /&gt;
* mfikrikasim (Mohd Fikri Kasim) OpenFoam v2306 - SnappyHexMesh の問題 GL#3239&lt;br /&gt;
* hikassem (Hassan Kassem) ConeNozzleInjection が均一でない GL#3240&lt;br /&gt;
* jczhang07 (Junchao Zhang) &amp;quot;openfoam/etc/bashrc&amp;quot; が非常に遅い GL#3245&lt;br /&gt;
* jczhang07 (Junchao Zhang) Icx コンパイラで `pthread_create' への未定義参照のリンクエラー GL#3251&lt;br /&gt;
* djarecki (Dominic Jarecki) EASY FIX: アクティブ熱物理モデルに線形 EOS を含める GL#3252&lt;br /&gt;
* jczhang07 (Junchao Zhang) &amp;quot;petscFoam&amp;quot; を未定義のシンボルでロードできなかった GL#3253&lt;br /&gt;
* richardt (Richard Tribess) BUG: AMR および collisionModel pairCollision でラグランジアンソルバーを実行する際に storeGlobalPositions が呼び出されない GL#3256&lt;br /&gt;
* hungnguyenphd (Quoc Hung Nguyen) sphereDrag が非常に小さい粒子サイズで動作しない GL#3257&lt;br /&gt;
* rbonin (Rémi Bonin) 太陽計算機が 24 時間以上の実行時間で間違った太陽方向を提供する GL#3258&lt;br /&gt;
* jczhang07 (Junchao Zhang) '-fp-model precise は -fp-model=precise であるべき GL#3259&lt;br /&gt;
* porori (takashi suzuki) interCondensatingEvaporatingFoam with InterfaceHeatResistance モデルが蒸発による体積変化を適切に評価しない GL#3261&lt;br /&gt;
* licg1981 (CHENGGONG LI) foamInstallationTest が gcc/g++ のバージョンを読み込めない GL#3263&lt;br /&gt;
* lizhisongsjtu (zhisong li) of2206: vectorCodedSource が動作しない。 GL#3264&lt;br /&gt;
* cibanez (Cristóbal Ibáñez) dynamicMotionSolverFvMeshMAMI の再実装 GL#3265&lt;br /&gt;
* cthorenz (Carsten Thorenz) snappyHexMesh： レイヤー追加処理でパッチ形状が破壊されることがある GL#3270&lt;br /&gt;
* jczhang07 (Junchao Zhang) RPATH リンクの失敗 GL#3274&lt;br /&gt;
* janga (Jan Gärtner) v2406 における boundaryInternalField() のコンパイルエラー GL#3277&lt;br /&gt;
* johan_roenby (Johan Roenby) BUG: plicRDF が周期的なパッチを越えて正常に動作しない GL#3279&lt;br /&gt;
* haampie (Harmen Stoppels) stubs サブディレクトリへの rpath が見つからない GL#3283&lt;br /&gt;
* sreplogl (Scott Replogle) マスターの初期クローンは成功したが、無効なパスのためチェックアウトに失敗 GL#3284&lt;br /&gt;
* janga (Jan Gärtner) Parcels の origProcId の命名を統一する GL#3287&lt;br /&gt;
&lt;br /&gt;
== 会社概要 ==&lt;br /&gt;
OpenFOAMは、ESI-OpenCFDのコアチームによって制作されています。&lt;br /&gt;
&lt;br /&gt;
* Andrew Heather&lt;br /&gt;
* Mattijs Janssens&lt;br /&gt;
* Mark Olesen&lt;br /&gt;
* Prashant Sonakar&lt;br /&gt;
* Pawan Ghildiyal&lt;br /&gt;
* Kutalmış Berçin&lt;br /&gt;
* Matej Forman&lt;br /&gt;
* Chiara Pesci&lt;br /&gt;
* Martin Lichtmes&lt;br /&gt;
* Jiri Polansky&lt;br /&gt;
* Ann Ronchetti&lt;br /&gt;
* Fred Mendonça&lt;br /&gt;
* Swapnil Salokhe&lt;br /&gt;
&lt;br /&gt;
グローバルESIチームからの幅広いサポート&lt;br /&gt;
&lt;br /&gt;
* ESI Group (GmbH)&lt;br /&gt;
* ESI Group (ESI Software (India) Private Limited)&lt;br /&gt;
* ESI Group (North America)&lt;br /&gt;
* ESI Group (Nihon ESI)&lt;br /&gt;
* ESI webteam&lt;br /&gt;
&lt;br /&gt;
次からの寄付もある。&lt;br /&gt;
&lt;br /&gt;
* Marian Fuchs: Upstream CFD GmbH&lt;br /&gt;
* Vaggelis Papoutsis: PCOpt/NTUA and FOSS GP&lt;br /&gt;
* The OpenFOAM Community&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2412_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=862</id>
		<title>OpenFOAM v2412 リリースノート</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2412_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=862"/>
		<updated>2024-12-28T03:17:28Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: First comiit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ESI OpenCFD Release OpenFOAM® v2412 ==&lt;br /&gt;
OpenCFD is pleased to announce the December 2024 release of OpenFOAM® v2412. This release extends OpenFOAM-v2406 features across many areas of the code. The new functionality represents development sponsored by OpenCFD's customers, internally funded developments, and integration of features and changes from the OpenFOAM community.&lt;br /&gt;
&lt;br /&gt;
OpenFOAM is distributed by OpenCFD under the GPL License. In addition to source code packages suitable for compilation on a variety of Linux and other POSIX systems, this release also has a number of pre-compiled binary packages&lt;br /&gt;
&lt;br /&gt;
* Ubuntu Linux: packaged installation for Ubuntu (coming soon)&lt;br /&gt;
* openSUSE Linux: packaged installation for (coming soon)&lt;br /&gt;
* Redhat Linux variants: packaged installation for (coming soon)&lt;br /&gt;
* apptainer images: available from dockerhub (coming soon)&lt;br /&gt;
&lt;br /&gt;
Windows users have three options for pre-compiled packages (more information):&lt;br /&gt;
&lt;br /&gt;
* Using Windows Subsystem for Linux (based on Ubuntu, openSUSE etc.)&lt;br /&gt;
* Native executables with cross-compilation&lt;br /&gt;
* A docker installation&lt;br /&gt;
&lt;br /&gt;
OpenFOAM apptainer support is provided via description files rather than pre-assembled images:&lt;br /&gt;
&lt;br /&gt;
* See packaging/containers&lt;br /&gt;
&lt;br /&gt;
Mac OSX users have the option to compile from source, or use Docker containers for pre-compiled packages (more information).&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
* Help for users is provided in the user upgrade guide&lt;br /&gt;
* Help for developers is provided in the developer upgrade guide&lt;br /&gt;
&lt;br /&gt;
== Pre-processing ==&lt;br /&gt;
&lt;br /&gt;
* Improved createPatch utility more...&lt;br /&gt;
* Improved snappyHexMesh: buffer layers before snapping more...&lt;br /&gt;
&lt;br /&gt;
== Boundary conditions ==&lt;br /&gt;
&lt;br /&gt;
* Improved pointMesh boundary handling more...&lt;br /&gt;
* New point patch functionality more...&lt;br /&gt;
&lt;br /&gt;
== Numerics ==&lt;br /&gt;
&lt;br /&gt;
* New fused discretisation more...&lt;br /&gt;
* New GAMG agglomeration caching more...&lt;br /&gt;
* Improved lduMatrix, lduAddressing more...&lt;br /&gt;
* Improved wall distance more...&lt;br /&gt;
* Community contribution: Improved adjoint optimisation more...&lt;br /&gt;
* New zoneBlended scheme more...&lt;br /&gt;
&lt;br /&gt;
== Solvers and physical models ==&lt;br /&gt;
&lt;br /&gt;
* Community contribution: Improved shielding function for SA-DDES turbulence model more...&lt;br /&gt;
* Improved Lagrangian injection model: coneNozzleInjection more...&lt;br /&gt;
* Improved solid-body motion function: tabulated6DoFMotion more...&lt;br /&gt;
* New finite-area framework: Film-separation models more...&lt;br /&gt;
* Improved simpleFoam: new dynamicMesh support more...&lt;br /&gt;
&lt;br /&gt;
== Post-processing ==&lt;br /&gt;
&lt;br /&gt;
* New report generation more...&lt;br /&gt;
* New graph generation more...&lt;br /&gt;
* New finite-area function object: surfaceCourantNumber more...&lt;br /&gt;
* Improved solver function objects: Outer-loop convergence check more...&lt;br /&gt;
&lt;br /&gt;
== Parallel ==&lt;br /&gt;
&lt;br /&gt;
* Improved Non-Blocking Exchange (NBX) more...&lt;br /&gt;
* Improved finite-area framework more...&lt;br /&gt;
* Improved reconstructParMesh more...&lt;br /&gt;
* Improved distributed tri-surfaces more...&lt;br /&gt;
&lt;br /&gt;
== Usability ==&lt;br /&gt;
&lt;br /&gt;
* Updated to c++17 more...&lt;br /&gt;
* New tutorial demonstrations more...&lt;br /&gt;
&lt;br /&gt;
== Community ==&lt;br /&gt;
&lt;br /&gt;
* New contributions to the Turbulence Technical Committee repository more...&lt;br /&gt;
* Thank you more...&lt;br /&gt;
&lt;br /&gt;
== About us ==&lt;br /&gt;
OpenFOAM is produced by the core ESI-OpenCFD team&lt;br /&gt;
&lt;br /&gt;
* Andrew Heather&lt;br /&gt;
* Mattijs Janssens&lt;br /&gt;
* Mark Olesen&lt;br /&gt;
* Prashant Sonakar&lt;br /&gt;
* Pawan Ghildiyal&lt;br /&gt;
* Kutalmış Berçin&lt;br /&gt;
* Matej Forman&lt;br /&gt;
* Chiara Pesci&lt;br /&gt;
* Martin Lichtmes&lt;br /&gt;
* Jiri Polansky&lt;br /&gt;
* Ann Ronchetti&lt;br /&gt;
* Fred Mendonça&lt;br /&gt;
* Swapnil Salokhe&lt;br /&gt;
&lt;br /&gt;
With wider support from the global ESI team&lt;br /&gt;
&lt;br /&gt;
* ESI Group (GmbH)&lt;br /&gt;
* ESI Group (ESI Software (India) Private Limited)&lt;br /&gt;
* ESI Group (North America)&lt;br /&gt;
* ESI Group (Nihon ESI)&lt;br /&gt;
* ESI webteam&lt;br /&gt;
&lt;br /&gt;
And contributions from&lt;br /&gt;
&lt;br /&gt;
* Marian Fuchs: Upstream CFD GmbH&lt;br /&gt;
* Vaggelis Papoutsis: PCOpt/NTUA and FOSS GP&lt;br /&gt;
* The OpenFOAM Community&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2406_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=861</id>
		<title>OpenFOAM v2406 リリースノート</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2406_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=861"/>
		<updated>2024-12-03T14:30:52Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: ページの作成:「  OpenCFDは、OpenFOAM® v2406の2024年6月リリースを発表します。 このリリースは、コードの多くの領域にわたってOpenFOAM-v2312の機能を拡張します。 この新機能は、OpenCFDの顧客からのスポンサーによる開発、内部資金による開発、OpenFOAMコミュニティからの機能や変更の統合を表しています。  OpenFOAMはOpenCFDによってGPLライセンスの下で配布されています。…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
OpenCFDは、OpenFOAM® v2406の2024年6月リリースを発表します。 このリリースは、コードの多くの領域にわたってOpenFOAM-v2312の機能を拡張します。 この新機能は、OpenCFDの顧客からのスポンサーによる開発、内部資金による開発、OpenFOAMコミュニティからの機能や変更の統合を表しています。&lt;br /&gt;
&lt;br /&gt;
OpenFOAMはOpenCFDによってGPLライセンスの下で配布されています。 様々なLinuxや他のPOSIXシステムでのコンパイルに適したソースコードパッケージに加え、このリリースにはコンパイル済みのバイナリパッケージもあります。&lt;br /&gt;
&lt;br /&gt;
* Ubuntu Linux: Ubuntu 24.04（LTS）、22.04（LTS）、20.04（LTS）、18.04（LTS）用パッケージインストール&lt;br /&gt;
* openSUSE Linux: Leap 15.6、15.5用パッケージインストール&lt;br /&gt;
* Redhat Linux の亜種: epel 9 用パッケージ・インストール; Fedora 40&lt;br /&gt;
* apptainer イメージ: dockerhub から openfoam-dev:2406-apptainer および openfoam-dev:apptainer として入手可能。&lt;br /&gt;
&lt;br /&gt;
Windowsユーザーには、コンパイル済みパッケージについて3つの選択肢がある（詳細）：&lt;br /&gt;
&lt;br /&gt;
* Linux用Windowsサブシステムの使用（Ubuntu、openSUSEなどベース）&lt;br /&gt;
* クロスコンパイルによるネイティブ実行可能ファイル&lt;br /&gt;
* ドッカーのインストール&lt;br /&gt;
&lt;br /&gt;
OpenFOAMのapptainerサポートは、事前に組み立てられたイメージではなく、記述ファイルによって提供されます：&lt;br /&gt;
&lt;br /&gt;
* 包装・容器を見る&lt;br /&gt;
&lt;br /&gt;
Mac OSXユーザーには、ソースからコンパイルするか、コンパイル済みパッケージのDockerコンテナを使用するオプションがある（詳細はこちら）。&lt;br /&gt;
&lt;br /&gt;
== アップグレード ==&lt;br /&gt;
&lt;br /&gt;
* ユーザー向けのヘルプは、[https://develop.openfoam.com/Development/openfoam/-/wikis/upgrade/v2406-User-Upgrade-Guide ユーザー・アップグレード・ガイド]に記載されています。&lt;br /&gt;
* 開発者向けのヘルプは、開発者向け[https://develop.openfoam.com/Development/openfoam/-/wikis/upgrade/v2406-Developer-Upgrade-Guide アップグレードガイド]に記載されています。&lt;br /&gt;
* 現在進行中のGPU開発をサポートするため、C++の最低規格が2024年にC++14からC++17に引き上げられる予定であることに注意。&lt;br /&gt;
&lt;br /&gt;
== 前処理 ==&lt;br /&gt;
&lt;br /&gt;
=== 新しいcreateViewFactorsアプリケーション ===&lt;br /&gt;
新しいcreateViewFactorsユーティリティは、viewFactor放射モデルのパッチ間のビュー因子を作成します。 これは、現在のviewFactorsGenユーティリティを置き換える可能性があります。 ユーザーは、対面アドレッシングの構築とビューファクターの計算方法の両方に使用するモデルを選択できます。&lt;br /&gt;
レイ世代：&lt;br /&gt;
&lt;br /&gt;
* ボクセル：均一なボクセルに分割された空間&lt;br /&gt;
* ...近い将来、さらなる方法が発表されるだろう&lt;br /&gt;
&lt;br /&gt;
ビューファクターの計算：&lt;br /&gt;
&lt;br /&gt;
* viewFactorHottel: Hottelの交差弦メソッドに基づく2Dメソッド&lt;br /&gt;
* viewFactor2AI: double 面積積分&lt;br /&gt;
* viewFactor2LI: 二重線積分&lt;br /&gt;
&lt;br /&gt;
すべての面に対してすべての面をテストする、つまりN^2アルゴリズム（viewFactorsGen）を使用する代わりに、ユーザーは面ごとにシードする光線の数を供給します。 これらは、半球全体で一様に発行されます。 したがって、結果は以前のユーティリティよりも近似的ですが、はるかに改善されたパフォーマンスでプロダクションケースに適用できるようになりました。 &lt;br /&gt;
&lt;br /&gt;
なお、これは現在ベータレベルであり、近い将来変更される可能性がある。&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* 未定&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_UTILITIES/preProcessing/createViewFactors&lt;br /&gt;
&lt;br /&gt;
Gitlab&lt;br /&gt;
&lt;br /&gt;
* Merge request #692&lt;br /&gt;
&lt;br /&gt;
=== renumberMeshの改良 ===&lt;br /&gt;
renumberMeshユーティリティに新しいオプションと機能が追加されました。&lt;br /&gt;
&lt;br /&gt;
* dry-runを-write-mapsオプションとともに使用すると、変更を加えずにリナンバリングの前後を視覚化できる（VTKファイルが作成される）。&lt;br /&gt;
* フィールドに影響を与えずにメッシュの番号だけを変更するには、-no-fieldsオプションを使用します。 これは、入力フィールドが一様で、-overwriteオプションが指定されている場合に便利で、はるかに高速です。&lt;br /&gt;
&lt;br /&gt;
新しい-renumber-methodオプションと-renumber-coeffsオプションは、別のファイルを編集することなくrenumberMeshを使用できるようにした。&lt;br /&gt;
&lt;br /&gt;
* renumberMesh -renumber-method CuthillMcKee&lt;br /&gt;
* renumberMesh -renumber-method RCM (すなわち、逆キューシルマッキー)&lt;br /&gt;
* renumberMesh -renumber-method random&lt;br /&gt;
* renumberMesh -renumber-method none (非常に特殊なケースだ！)&lt;br /&gt;
&lt;br /&gt;
係数を必要とするメソッドでは、-renumber-coeffsオプションで指定できる。 逆Cuthill-McKeeを指定する4つの異なる方法を示します：&lt;br /&gt;
&lt;br /&gt;
* renumberMesh -renumber-method RCM&lt;br /&gt;
* renumberMesh -renumber-method CuthillMcKee -renumber-coeffs 'reverse true;'&lt;br /&gt;
* `renumberMesh -renumber-coeffs 'method CuthillMcKee; reverse true;'&lt;br /&gt;
* `renumberMesh -renumber-coeffs 'method RCM;'&lt;br /&gt;
&lt;br /&gt;
これらの例からわかるように、-renumber-coeffsはOpenFOAM辞書の内容に対応し、比較的複雑な内容を許容します：&lt;br /&gt;
 &amp;lt;code&amp;gt;renumberMesh \&lt;br /&gt;
     renumber-method spring \&lt;br /&gt;
     renumber-coeffs 'maxCo 0.1; maxIter 1000; freezeFraction 0.99;'&amp;lt;/code&amp;gt;&lt;br /&gt;
リナンバリングメソッドに加えて、renumberMeshはリナンバリングの前に適用される-decomposeメソッドをサポートするようになった。 これは並列リナンバリングの代わりとして使用でき、ワークフローを簡素化します。&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/parallel/cavity&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_UTILITIES/mesh/manipulation/renumberMesh&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMeshの改良 ===&lt;br /&gt;
snappyHexMeshはシリアルとパラレルの両モードで実行したときに同一のメッシュを生成することを目指しています。 このリリースでは2つの同期に対応しました：&lt;br /&gt;
&lt;br /&gt;
* 2:1より遅い精製を使用する場合、すなわちnCellsBetweenLevels &amp;gt; 1&lt;br /&gt;
* すべての点が境界上にあるセルを検出する場合。 これらの点はプロセッサの境界上にある場合は異なる扱いを受けた。&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* N/A&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/hexRef8.C&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/meshRefinement/meshRefinementProblemCells.C&lt;br /&gt;
&lt;br /&gt;
Gitlab&lt;br /&gt;
&lt;br /&gt;
* Commit #690d02f9&lt;br /&gt;
* Commit #e1d45ec2&lt;br /&gt;
&lt;br /&gt;
=== surfaceInertiaユーティリティの改良 ===&lt;br /&gt;
surfaceInertiaユーティリティが平均面積法線に関する情報を出力するようになり、プリ・ポスト処理中のさまざまな方向関連のジオメトリやメッシュ操作に役立つようになりました：&lt;br /&gt;
&lt;br /&gt;
* cをlinearDirectionと組み合わせることで、より優れた押し出し結果を得ることができます。&lt;br /&gt;
* 変換の向き、ブロックメッシュ、結果の投影、...&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_UTILITIES/surface/surfaceInertia&lt;br /&gt;
&lt;br /&gt;
=== 新しいオーバーラップゾーン ===&lt;br /&gt;
点、面、セルのオーバーラップゾーンをサポートするユーティリティが増えました。 以前のリリースでは、これはdecomposeParと特定のソルバーでのみサポートされていました。&lt;br /&gt;
&lt;br /&gt;
* redistributePar : フルサポート&lt;br /&gt;
* subsetMesh : フルサポート&lt;br /&gt;
* polyTopoChange : メッシュ要素を単一のゾーンではなく、複数のゾーンに追加／修正するルーチンを拡張。&lt;br /&gt;
* polyMesh : エレメントがあるゾーンをチェックするための追加質問ルーチン&lt;br /&gt;
&lt;br /&gt;
これは、任意のソースを使用してtopoSet内部で直接ゾーンを構築するための既存のサポートに追加される：&lt;br /&gt;
 &amp;lt;code&amp;gt;name    c0;&lt;br /&gt;
 type    cellZoneSet;&lt;br /&gt;
 action  new;&lt;br /&gt;
 source  boxToCell;&lt;br /&gt;
 box     (0.04 0 0)(0.06 100 100);&amp;lt;/code&amp;gt;&lt;br /&gt;
これはメッシュの矩形部分から直接セルゾーンc0を生成する。&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/meshTools/topoSet/topoSets/topoSet.C&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/parallel/filter&lt;br /&gt;
&lt;br /&gt;
Gitlab&lt;br /&gt;
&lt;br /&gt;
* Merge request #670&lt;br /&gt;
&lt;br /&gt;
=== topoSet : 幾何学的選択のオプション変換 ===&lt;br /&gt;
topoSet のジオメトリック選択ソースが、選択が適用される前のセル、面中心、点の位置のオプション変換をサポートするようになりました。 変換は solidBodyMotionFunctions の形式をとります。&lt;br /&gt;
 &amp;lt;code&amp;gt;name                    c0;&lt;br /&gt;
 type                    cellSet;&lt;br /&gt;
 action                  new;&lt;br /&gt;
 source                  boxToCell;&lt;br /&gt;
 box                     (0.04 0 0)(0.06 100 100);&lt;br /&gt;
 solidBodyMotionFunction rotatingMotion;&lt;br /&gt;
 rotatingMotionCoeffs&lt;br /&gt;
 {&lt;br /&gt;
     // coefficients&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
これは、&amp;lt;constant&amp;gt;/fvOptionsなどで、移動するソースをシミュレートするのに便利です：&lt;br /&gt;
 &amp;lt;code&amp;gt;selectionMode   geometric;&lt;br /&gt;
 selection&lt;br /&gt;
 {&lt;br /&gt;
     cyl1&lt;br /&gt;
     {&lt;br /&gt;
         action  use;&lt;br /&gt;
         source  cylinder;&lt;br /&gt;
 &lt;br /&gt;
         point1  (0.05 0.03 -1); // beg point on cylinder axis&lt;br /&gt;
         point2  (0.05 0.03  1); // end point on cylinder axis&lt;br /&gt;
         radius  0.003;&lt;br /&gt;
 &lt;br /&gt;
         solidBodyMotionFunction oscillatingLinearMotion;&lt;br /&gt;
         oscillatingLinearMotionCoeffs&lt;br /&gt;
         {&lt;br /&gt;
             // coefficients&lt;br /&gt;
             amplitude       (0 0.02 0);&lt;br /&gt;
             omega           0.7;            // rad/s&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/meshTools/topoSet/topoSets/topoSet.C&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/basic/scalarTransportFoam/moving_source&lt;br /&gt;
&lt;br /&gt;
Gitlab&lt;br /&gt;
&lt;br /&gt;
* Merge request #668&lt;br /&gt;
* Merge request #693&lt;br /&gt;
&lt;br /&gt;
=== トランスフォームの改善 ===&lt;br /&gt;
transformPointsとsurfaceTransformPointsユーティリティは、メッシュ（またはサーフェス）ポイントの変換に使用されます。 新しいオプション-cylToCartは、円筒形メッシュ生成を補助するために、円筒形からデカルトへの変換を適用します。&lt;br /&gt;
下の例は、新しいチュートリアル$FOAM_TUTORIALS/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBladeからのもので、左の画像は、円柱座標で構成されたコンポーネントを示し、右の画像は、デカルト座標に変換した後の断面です。&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_UTILITIES/mesh/manipulation/transformPoints&lt;br /&gt;
&lt;br /&gt;
Gitlab&lt;br /&gt;
&lt;br /&gt;
* Merge request #688&lt;br /&gt;
&lt;br /&gt;
帰属&lt;br /&gt;
&lt;br /&gt;
* 変換コードを提供してくれたHåkan Nilssonに感謝する。&lt;br /&gt;
&lt;br /&gt;
== 数値 ==&lt;br /&gt;
&lt;br /&gt;
=== 圧縮性ケースに対する改良型MRF ===&lt;br /&gt;
エネルギー方程式は、ムービングメッシュ計算を行う際に採用される寄与と同様に、MRFが行った仕事の影響を含むようになった。 この追加項は次のような形になります：&lt;br /&gt;
 &amp;lt;code&amp;gt;if (MRF.active())&lt;br /&gt;
 {&lt;br /&gt;
     EEqn += fvc::div(MRF.phi(), p);&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
この変更には、&amp;lt;case&amp;gt;/fvSchemesファイルに追加のエントリーが必要です。&lt;br /&gt;
 &amp;lt;code&amp;gt;div(phiMRF,p)   Gauss limitedLinear 1;&amp;lt;/code&amp;gt;&lt;br /&gt;
その効果は、コンプレッサーのケースにおける以下の総温度予測で見ることができる。左の画像は以前の挙動（v2312以前）と新しい挙動（右）を示している。&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/compressible/rhoPimpleFoam/RAS/mixerVessel2D/system/fvSchemes&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SOLVERS/compressible/rhoPimpleFoam/EEqn.H&lt;br /&gt;
&lt;br /&gt;
Gitlab&lt;br /&gt;
&lt;br /&gt;
* Merge request #689&lt;br /&gt;
&lt;br /&gt;
=== 有限面積の改善 ===&lt;br /&gt;
OpenFOAM-v2406では、将来的に複数の有限領域領域をサポートするための重要な第一歩が踏み出されました。&lt;br /&gt;
残念ながら、これらの変更は、有限領域を使用するワークフローに若干の調整を必要とする（他のワークフローは影響を受けない）。 OpenCFDではワークフローを中断させないように最善を尽くしていますが、やむを得ない場合もあります。&lt;br /&gt;
&lt;br /&gt;
有限面積ケースのセットアップのアップグレードを支援するために、bin/foamUpgradeFiniteAreaスクリプトが用意されています：&lt;br /&gt;
 &amp;lt;code&amp;gt;Usage: foamUpgradeFiniteArea [OPTION]&lt;br /&gt;
 options:&lt;br /&gt;
 -case=DIR         Specify starting directory, default is cwd&lt;br /&gt;
 -dry-run | -n     Test without performing actions&lt;br /&gt;
 -verbose | -v     Additional verbosity&lt;br /&gt;
 -link-back        Link back from new finite-area/ to old locations&lt;br /&gt;
 -no-mesh          Do not move system/faMeshDefinition&lt;br /&gt;
 -git              Use 'git mv' when making changes&lt;br /&gt;
 -help             Print help and exit&lt;br /&gt;
 &lt;br /&gt;
 Relocate finite-area files to new sub-directory locations&amp;lt;/code&amp;gt;&lt;br /&gt;
幸いなことに、これは思ったより複雑なことではなく、有限領域のサブディレクトリが追加されただけである。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!old location&lt;br /&gt;
!new location&lt;br /&gt;
|-&lt;br /&gt;
|0/{areafield}&lt;br /&gt;
|0/finite-area/{areafield}&lt;br /&gt;
|-&lt;br /&gt;
|constant/faMesh/&lt;br /&gt;
|constant/finite-area/faMesh/&lt;br /&gt;
|-&lt;br /&gt;
|system/faMeshDefinition&lt;br /&gt;
|system/finite-area/faMeshDefinition&lt;br /&gt;
|-&lt;br /&gt;
|system/faSchemes&lt;br /&gt;
|system/finite-area/faSchemes&lt;br /&gt;
|-&lt;br /&gt;
|system/faSolution&lt;br /&gt;
|system/finite-area/faSolution&lt;br /&gt;
|}&lt;br /&gt;
コード開発者にとっても、大きな変化はない。 エリア・フィールドが正しい位置に登録されていることが重要なだけだ：&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;code&amp;gt;// Good, uses area mesh thisDb()&lt;br /&gt;
 &lt;br /&gt;
 areaScalarField h&lt;br /&gt;
 (&lt;br /&gt;
     IOobject&lt;br /&gt;
     (&lt;br /&gt;
         &amp;quot;h&amp;quot;,&lt;br /&gt;
         runTime.timeName(),&lt;br /&gt;
         aMesh.thisDb(),&lt;br /&gt;
 //      ^-- works with v2312, v2406, ...&lt;br /&gt;
         IOobject::MUST_READ,&lt;br /&gt;
         IOobject::AUTO_WRITE&lt;br /&gt;
     ),&lt;br /&gt;
     aMesh&lt;br /&gt;
 );&amp;lt;/code&amp;gt;&lt;br /&gt;
例によって、より詳しい情報はユーザーアップグレードガイドと開発者アップグレードガイドにあります。&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/compressible/acousticFoam/obliqueAirJet/main&lt;br /&gt;
* $FOAM_TUTORIALS/finiteArea/liquidFilmFoam/cylinder&lt;br /&gt;
* $FOAM_TUTORIALS/finiteArea/sphereSurfactantFoam/sphereTransport&lt;br /&gt;
* $FOAM_TUTORIALS/finiteArea/surfactantFoam/planeTransport&lt;br /&gt;
* $FOAM_TUTORIALS/heatTransfer/buoyantPimpleFoam/hotRoomWithThermalShell&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/sensitivityMaps/motorBike&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/pimpleFoam/laminar/contactAngleCavity&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/pimpleFoam/laminar/contaminatedDroplet2D&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/pimpleFoam/laminar/filmPanel0&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/pimpleFoam/laminar/inclinedPlaneFilm&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/pimpleFoam/laminar/sloshing2D&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/simpleFoam/motorBike/system/finite-area/faSchemes&lt;br /&gt;
* $FOAM_TUTORIALS/lagrangian/kinematicParcelFoam/drippingChair&lt;br /&gt;
* $FOAM_TUTORIALS/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers&lt;br /&gt;
* $FOAM_TUTORIALS/lagrangian/reactingParcelFoam/liquidFilmStepWithSprinklers&lt;br /&gt;
* $FOAM_TUTORIALS/lagrangian/reactingParcelFoam/splashPanelFilm&lt;br /&gt;
&lt;br /&gt;
== ソルバーと物理モデル ==&lt;br /&gt;
&lt;br /&gt;
=== 温度依存の放射特性 ===&lt;br /&gt;
constantAbsorptionおよびconstantTransmissivity放射サブモデルが更新され、吸収率、放射率、透過率などの時間変化する特性がサポートされました。&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* TBA&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/thermophysicalModels/radiation/submodels/wallAbsorptionEmissionModel/constantAbsorption&lt;br /&gt;
* $FOAM_SRC/thermophysicalModels/radiation/submodels/wallTransmissivityModel/constantTransmissivity&lt;br /&gt;
&lt;br /&gt;
Gitlab&lt;br /&gt;
&lt;br /&gt;
* Merge request #685&lt;br /&gt;
&lt;br /&gt;
=== 新しいFreezeParticlesクラウド機能オブジェクト ===&lt;br /&gt;
新しいFreezeParticlesクラウドファンクションオブジェクトは、パーティクルのアクティブフラグをfalseに設定し、物理モデルを進化させながら空間内でパーティクルをフリーズさせます。 使用例：&lt;br /&gt;
 &amp;lt;code&amp;gt;cloudFunctions&lt;br /&gt;
 {&lt;br /&gt;
     FreezeParticles&lt;br /&gt;
     {&lt;br /&gt;
         // Mandatory entries&lt;br /&gt;
         type    FreezeParticles;&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/lagrangian/intermediate/submodels/CloudFunctionObjects/FreezeParticles&lt;br /&gt;
&lt;br /&gt;
Gitlab&lt;br /&gt;
&lt;br /&gt;
* Merge request #686&lt;br /&gt;
&lt;br /&gt;
=== トミヤマ新バブル・ドラッグ・モデル ===&lt;br /&gt;
tomiyamaDragモデルがラグランジュ粒子追跡ライブラリに追加されました。&lt;br /&gt;
使用例：&lt;br /&gt;
 &amp;lt;code&amp;gt;subModels&lt;br /&gt;
 {&lt;br /&gt;
     particleForces&lt;br /&gt;
     {&lt;br /&gt;
         tomiyamaDrag&lt;br /&gt;
         {&lt;br /&gt;
             sigma       0.07;&lt;br /&gt;
             contamination pure; // pure | slight | full&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/lagrangian/kinematicParcelFoam/particleDrag/parcelInBox&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/lagrangian/intermediate/submodels/Kinematic/ParticleForces/TomiyamaDrag&lt;br /&gt;
&lt;br /&gt;
参考&lt;br /&gt;
&lt;br /&gt;
* Tomiyama, A., Kataoka, I., Zun, I., Sakaguchi, T. (1998) Drag coefficients of single bubbles under normal and micro gravity conditions JSME International Journal, 41(2), 472-479.&lt;br /&gt;
&lt;br /&gt;
Gitlab&lt;br /&gt;
&lt;br /&gt;
* Merge request #686&lt;br /&gt;
&lt;br /&gt;
=== icoReacting...Foamソルバーの改良 ===&lt;br /&gt;
icoReactingMultiphaseInterFoamソルバーアプリケーションがインクリメンタルアップデートを受けました：&lt;br /&gt;
&lt;br /&gt;
* 追加乱流モデルへのアクセス：realizableKE、kOmega、kOmegaSST&lt;br /&gt;
* &amp;lt;case&amp;gt;/fvSolution を使ってフローを凍結させることもできる。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;PIMPLE&lt;br /&gt;
 {&lt;br /&gt;
     frozenFlow      yes;&lt;br /&gt;
     ...&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SOLVERS/multiphase/icoReactingMultiphaseInterFoam&lt;br /&gt;
&lt;br /&gt;
Gitlab&lt;br /&gt;
&lt;br /&gt;
* Issue #3128&lt;br /&gt;
* Commit #bb483951&lt;br /&gt;
&lt;br /&gt;
== 後処理 ==&lt;br /&gt;
&lt;br /&gt;
=== 新しいviewFactorHeatFlux関数オブジェクト ===&lt;br /&gt;
viewFactorHeatFlux関数オブジェクトを使用すると、viewFactor放射モデルを使用した場合のパッチ間の熱交換を簡単に特定することができます。&lt;br /&gt;
使用例：&lt;br /&gt;
 &amp;lt;code&amp;gt;viewFactorHeatFlux1&lt;br /&gt;
 {&lt;br /&gt;
     // Mandatory entries (unmodifiable)&lt;br /&gt;
     type        viewFactorHeatFlux;&lt;br /&gt;
     libs        (utilityFunctionObjects);&lt;br /&gt;
 &lt;br /&gt;
     // Optional entries (runtime modifiable)&lt;br /&gt;
     qr          qr;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* NA&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/utilities/viewFactorHeatFlux&lt;br /&gt;
&lt;br /&gt;
=== 新しいEnsightシングル・ファイル・フォーマットの読み込み ===&lt;br /&gt;
過渡的な結果を保存するために複数のファイルを使用する、より馴染み深いEnSightのケースに加えて、EnSightは、より効率的、あるいは単純により便利に使用できる可能性のある、単一のファイル形式での過渡的な結果の保存も可能です。&lt;br /&gt;
このリリースでは、このトランジェント・シングル・ファイル・フォーマットが、サポートされるサーフェス・フィールド・フォーマットとして、*MappedFile*関数やsurfaceNoiseユーティリティなどで使用できるようになった。&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/fileFormats/ensight/file&lt;br /&gt;
* $FOAM_SRC/surfMesh/readers/ensight&lt;br /&gt;
&lt;br /&gt;
Gitlab&lt;br /&gt;
&lt;br /&gt;
* Merge request #682&lt;br /&gt;
&lt;br /&gt;
=== 新しいEnsightクラウド機能オブジェクト ===&lt;br /&gt;
ensightCloud関数オブジェクトは、ラグランジュデータをEnSight計測フォーマットで書き込みます。 並行して、すべてのデータがマスターから書き込まれます。&lt;br /&gt;
ensightCloud関数オブジェクトの設定パラメータと動作は、ストライドに基づく区画選択、フィールドフィルタリングなどをサポートするvtkCloud関数オブジェクトとほぼ同じです。&lt;br /&gt;
&lt;br /&gt;
生成されたEnSightファイルには、メッシュのバウンディングボックスも含まれます。これは、視覚化のためのリファレンスとなります（ParaViewリーダーにも必要です）。&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/lagrangian/ensightCloud&lt;br /&gt;
&lt;br /&gt;
=== 新しい多面体セル変換 ===&lt;br /&gt;
cellDecomposer関数オブジェクトは、mapFieldsユーティリティと同様に、セルを「基本」形状に分解し、選択したフィールドをその上にマッピングします。 主な利点は、多面体形状を扱えないサードパーティ製ツールでOpenFOAMメッシュや結果をポスト処理する場合です。 2つの主要なコントロールがあります：&lt;br /&gt;
&lt;br /&gt;
* 細胞の選択。 これはどのfvOptionとも同じコントロールを使う。例えばselectionMode allやselectionMode cellSetなど。&lt;br /&gt;
* decomposeTypeによる分解方法：&lt;br /&gt;
** faceCentre : 面の中心とセルの中心を使ってセルをテットに分解する。&lt;br /&gt;
** faceDiagonal : 面対角を使ってセルをテッツに分解。ラグランジュ粒子トラッキングの分解と似ていて、ヘックスが6*2のテッツになる。&lt;br /&gt;
** ピラミッド：面はそのままに、セルの中心を使って（多角形ベースの）ピラミッドを作る。&lt;br /&gt;
** faceDiagonalQuads : faceDiagonalに似ているが、面を[三角形のみ]ではなく、四角形と三角形に分割する。&lt;br /&gt;
** polyhedral : faceDiagonalQuadsのようなものだが、選択された集合内の非hex/prism/tetセルだけを分解する。 多面体メッシュを「単純」メッシュに変換するのに使用。&lt;br /&gt;
&lt;br /&gt;
すべての多面体セルを非多面体セルだけを含むサブリージョンメッシュに変換する典型的な例：&lt;br /&gt;
 &amp;lt;code&amp;gt;functions&lt;br /&gt;
 {&lt;br /&gt;
     cellDecomposer&lt;br /&gt;
     {&lt;br /&gt;
         // Mandatory entries&lt;br /&gt;
         type            cellDecomposer;&lt;br /&gt;
         fields          (p U);&lt;br /&gt;
         mapRegion       simpleMesh;&lt;br /&gt;
 &lt;br /&gt;
         // Execute when results are written&lt;br /&gt;
         writeControl    writeTime;&lt;br /&gt;
 &lt;br /&gt;
         // Decompose type&lt;br /&gt;
         decomposeType   polyhedral;&lt;br /&gt;
 &lt;br /&gt;
         // Which cells to convert&lt;br /&gt;
         selectionMode   all;&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
このメッシュと結果は、通常の-regionオプションを使って処理できる：&lt;br /&gt;
 &amp;lt;code&amp;gt;checkMesh -region simpleMesh&lt;br /&gt;
 foamToEnsight -region simpleMesh&amp;lt;/code&amp;gt;&lt;br /&gt;
下の画像はシンプルな3セル厚のブロックメッシュで、コーナーセルの1つが2x2x2リファインメントを使って分割され、多面体セルが作成されている：&lt;br /&gt;
&lt;br /&gt;
左：リファインメントを施した元のメッシュ、右：新しいファンクションオブジェクトを実行した後、残りのセルは六角形、四角錐、角柱、四面体になる。&lt;br /&gt;
&lt;br /&gt;
ある幾何学的領域内のすべてのセルを四面体に変換する別の例：&lt;br /&gt;
 &amp;lt;code&amp;gt;functions&lt;br /&gt;
 {&lt;br /&gt;
     cellDecomposer&lt;br /&gt;
     {&lt;br /&gt;
         // Mandatory entries&lt;br /&gt;
         type            cellDecomposer;&lt;br /&gt;
         fields          (p U);&lt;br /&gt;
         mapRegion       tetMesh;&lt;br /&gt;
         // Decompose type&lt;br /&gt;
         decomposeType   faceCentre;&lt;br /&gt;
         // Which cells to convert&lt;br /&gt;
         selectionMode   geometric;&lt;br /&gt;
         // Generate cellSet c0 using topoSet commands:&lt;br /&gt;
         cellSet         c0;&lt;br /&gt;
         selection&lt;br /&gt;
         {&lt;br /&gt;
             a&lt;br /&gt;
             {&lt;br /&gt;
                 action  use;&lt;br /&gt;
                 source  boxToCell;&lt;br /&gt;
                 box     (1 1 1)(0 0 0);&lt;br /&gt;
             }&lt;br /&gt;
             b&lt;br /&gt;
             {&lt;br /&gt;
                 action  invert;&lt;br /&gt;
             }&lt;br /&gt;
 &lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 制限事項 ====&lt;br /&gt;
&lt;br /&gt;
* メッシュの移動とトポロジーの変更は現在サポートされていません。&lt;br /&gt;
* 微細化によってセルを分解すると、2つのセルの間に複数の面ができることがある：&lt;br /&gt;
** ヘクスは2つのエッジに分割される。エッジで接続されたセルはリファインされるからだ（このヘクスは多面体セルとなる）。&lt;br /&gt;
** 元の六角形のエッジは2つの隣接する四面体に分割されるが、今度はその間の四角形が2つの三角形に分割され、どちらも同じ2つのセルを共有する：&lt;br /&gt;
&lt;br /&gt;
* と報告される。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;Checking topology...&lt;br /&gt;
     ..&lt;br /&gt;
   &amp;lt;&amp;lt;Found 2015 neighbouring cells with multiple inbetween faces.&lt;br /&gt;
     Upper triangular ordering OK.&lt;br /&gt;
   &amp;lt;&amp;lt;Writing 4034 unordered faces to set upperTriangularFace&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 複雑なセルを分割すると、幾何学的に無効なセルが簡単に生成される。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;***High aspect ratio cells found, Max aspect ratio: 1.59875e+96, number of cells 99&lt;br /&gt;
   &amp;lt;&amp;lt;Writing 99 cells with high aspect ratio to set highAspectRatioCells&lt;br /&gt;
     Minimum face area = 1.34886e-06. Maximum face area = 1.00344.  Face area magnitudes OK.&lt;br /&gt;
  ***Zero or negative cell volume detected.  Minimum negative volume: -3.55077e-07, Number of negative volume cells: 99&lt;br /&gt;
   &amp;lt;&amp;lt;Writing 99 zero volume cells to set zeroVolumeCells&lt;br /&gt;
     Mesh non-orthogonality Max: 158.664 average: 21.4979&amp;lt;/code&amp;gt;&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/src/functionObjects/field/cellDecomposer/cellDecomposer.H&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/lagrangian/kinematicParcelFoam/spinningDisk&lt;br /&gt;
&lt;br /&gt;
== パラレル ==&lt;br /&gt;
&lt;br /&gt;
=== GAMG : プロセッサ・アグロメレーションを修正する ===&lt;br /&gt;
ローカル・アグロメレーションに加えて、GAMGソルバーは、プロセッサー・アグロメレーションを使用してプロセッサー間で行列を結合することもサポートしている。 これは、以下の理由により、コア数が多い場合に特に効果的であることが示されている：&lt;br /&gt;
&lt;br /&gt;
* コアの数を減らすことは、最も粗いレベルで作用する。&lt;br /&gt;
* スムージングやプリコンディショニングなど、すべての操作の暗黙性を高める。&lt;br /&gt;
&lt;br /&gt;
以前のリリース（v2312）では、あらゆる種類の結合境界条件を含めることができるようにメカニズムが書き換えられました。 しかし、これは既存の、プロセッサ境界のみの、プロセッサのアグロメレーションを壊しました。 これは今回のリリースで修正されました。&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGSolverAgglomerateMatrix.C&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/basic/laplacianFoam/implicitAMI-nonblocking&lt;br /&gt;
&lt;br /&gt;
Gitlab&lt;br /&gt;
&lt;br /&gt;
* Merge request #645&lt;br /&gt;
* Issue #3172&lt;br /&gt;
&lt;br /&gt;
=== cyclicAMI : 大きなコア数の線形ソルバーにおけるcyclicAMIの修正 ===&lt;br /&gt;
マージリクエスト#641で導入された、終了したMPIリクエストへの参照を保持するオーバーラップ通信が修正されました。 これはコア数が大きく、インターコネクトが高速で、パイプライン化された線形ソルバーで発生する可能性があります。&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C&lt;br /&gt;
* $FOAM_SRC/finiteVolume/fields/fvPatchFields/constraint/cyclicACMI/cyclicACMIFvPatchField.C&lt;br /&gt;
* $FOAM_SRC/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicAMIGAMGInterfaceField/cyclicAMIGAMGInterfaceField.C&lt;br /&gt;
* $FOAM_SRC/meshTools/AMIInterpolation/GAMG/interfaceFields/cyclicACMIGAMGInterfaceField/cyclicACMIGAMGInterfaceField.C&lt;br /&gt;
&lt;br /&gt;
Gitlab&lt;br /&gt;
&lt;br /&gt;
* Merge request #641&lt;br /&gt;
&lt;br /&gt;
== ユーザビリティ ==&lt;br /&gt;
&lt;br /&gt;
=== 新しいルックアップ機能1 ===&lt;br /&gt;
&lt;br /&gt;
==== lookup' 関数1 ====&lt;br /&gt;
データベース（通常はメッシュ）からUniformDimensionedFieldを検索できる新しいルックアップ関数1が導入されました。 これは、境界条件やシミュレーション設定などの計算値に適用することができます。 次の例は、rotatingMotionモデルで計算された回転速度を使用する方法を示しています：&lt;br /&gt;
 &amp;lt;code&amp;gt;solidBodyMotionFunction rotatingMotion;&lt;br /&gt;
 rotatingMotionCoeffs&lt;br /&gt;
 {&lt;br /&gt;
     origin      (0.005 0.005 0.005);&lt;br /&gt;
     axis        (0 0 1);&lt;br /&gt;
     omega       lookup;&lt;br /&gt;
     // Name of UniformDimensionedField to look up&lt;br /&gt;
     name        myRotationalVelocity;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
または拡張構文、例えばすでに名前エントリーが存在する場合：&lt;br /&gt;
 &amp;lt;code&amp;gt;omega       lookup&lt;br /&gt;
 lookupCoeffs&lt;br /&gt;
 {&lt;br /&gt;
     name    myRotationalVelocity;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
変数の中には、UniformDimensionedFieldとしてすでに利用可能なものもある。 その他の変数は、例えばコード化された関数オブジェクトの中など、ユーザーコーディングによって追加することができます：&lt;br /&gt;
 &amp;lt;code&amp;gt;libs            (utilityFunctionObjects);&lt;br /&gt;
 type            coded;&lt;br /&gt;
 name            register_myVar;&lt;br /&gt;
 &lt;br /&gt;
 codeRead&lt;br /&gt;
 #{&lt;br /&gt;
     const IOobject io&lt;br /&gt;
     (&lt;br /&gt;
         &amp;quot;myVar&amp;quot;,&lt;br /&gt;
         mesh().time().constant(),&lt;br /&gt;
         mesh()&lt;br /&gt;
     );&lt;br /&gt;
 &lt;br /&gt;
     auto* ptr =&lt;br /&gt;
         const_cast&amp;lt;objectRegistry&amp;amp;&amp;gt;&lt;br /&gt;
         (&lt;br /&gt;
             io.db().findObject&amp;lt;uniformDimensionedScalarField&amp;gt;(io.name())&lt;br /&gt;
         );&lt;br /&gt;
 &lt;br /&gt;
     if (!ptr)&lt;br /&gt;
     {&lt;br /&gt;
         ptr = new uniformDimensionedScalarField&lt;br /&gt;
         (&lt;br /&gt;
             io,&lt;br /&gt;
             dimless,&lt;br /&gt;
             0.80&lt;br /&gt;
         );&lt;br /&gt;
         ptr-&amp;gt;store();&lt;br /&gt;
     }&lt;br /&gt;
 #};&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 'lookup' PatchFunction1 ====&lt;br /&gt;
このバリアントはパッチ上で動作し、与えられた名前のボリューム、サーフェス、またはポイントフィールドを検索し、パッチ上の値を抽出する。&lt;br /&gt;
 &amp;lt;code&amp;gt;movingWall&lt;br /&gt;
 {&lt;br /&gt;
     type            uniformFixedValue;&lt;br /&gt;
     uniformValue    lookup;&lt;br /&gt;
     name            U.water;    // use patch value of field U.water&lt;br /&gt;
     value           $internalField;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/blockMesh/pipe&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/finiteVolume/expressions/PatchFunction1&lt;br /&gt;
&lt;br /&gt;
=== topoSetユーティリティの改善：セットまたはゾーンの選択 ===&lt;br /&gt;
topoSet ソース・メソッドで set または sets というキーワードを期待するメソッドは、zone または zones というキーワードも受け付けるようになった。 これは、constant/polyMesh/sets ディレクトリからセットを読み込む代わりに、現在のメッシュゾーンから要素を選択します。&lt;br /&gt;
Gitlab&lt;br /&gt;
&lt;br /&gt;
* Merge request #674&lt;br /&gt;
&lt;br /&gt;
=== 新しい周期的環状AMIチュートリアル ===&lt;br /&gt;
周期的に繰り返されるAMIの症例を組み立てるのは難しい。 OpenFOAMコミュニティのメンバーであるHakan Nilsson氏から提供された回転軸流タービンケースは、メッシュが円筒座標で構築され、後にOpenFOAM v2406の新しい変換オプションを使用してデカルト座標に変換されます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
チュートリアル&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/pimpleFoam/RAS/axialTurbine_rotating_oneBlade&lt;br /&gt;
&lt;br /&gt;
Gitlab&lt;br /&gt;
&lt;br /&gt;
* MR!648&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* ホーカン・ニルソンに感謝&lt;br /&gt;
&lt;br /&gt;
== コミュニティ ==&lt;br /&gt;
&lt;br /&gt;
=== 新しいサブモジュール： データ駆動モデリングSIGリポジトリ ===&lt;br /&gt;
OpenFOAMガバナンス内のData-Driven Modelling Special Interest Groupから、入れ子になったサブモジュールを含む新しいコミュニティ・サブモジュールが開始されました。 このサブモジュールは、公開されているData-Driven Modelling Special Interest Groupリポジトリでホストされています。&lt;br /&gt;
コミュニティ・サブモジュールは、CFDや機械学習モデルに関する学術的・産業的な貢献のホストとして機能し、知識交換の場を作り、コラボレーションを促進する。&lt;br /&gt;
&lt;br /&gt;
BitbucketやGitHubのような、gitベースのソースコードリポジトリホスティングサービスにホストし、このサブモジュールを介してOpenFOAMソフトウェアにリンクすることができます。&lt;br /&gt;
&lt;br /&gt;
今回のリリースでは、以下のサブモジュールを発表する：&lt;br /&gt;
&lt;br /&gt;
* openfoam-smartsim : SmartRedisとSmartSimによるOpenFOAMと機械学習の結合。&lt;br /&gt;
* NN_Pred : CFDコードに機械学習モデルを導入するためのインターフェイスライブラリ。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;https://gitlab.com/openfoam/community/sig-data-modelling/data-community&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* OpenCFD would like to acknowledge and thank the data-driven modelling special interest group members; Weishuo Liu and their colleagues for their valuable contributions and assistance.&lt;br /&gt;
&lt;br /&gt;
=== Turbulence TCリポジトリへの新しい投稿 ===&lt;br /&gt;
乱流技術委員会リポジトリの傘下に、以下の6つのリポジトリを公開いたします：&lt;br /&gt;
&lt;br /&gt;
* MachineLearningTurbulenceModels : 機械学習アプローチに基づくいくつかの乱流モデル。&lt;br /&gt;
* KOSSTPDA : プログレッシブデータ拡張k-ωSSTモデル.&lt;br /&gt;
* SpalartAllmarasRCsend : Spalart-Shur曲率補正を用いたSpalart-Allmaras乱流モデル.&lt;br /&gt;
* SST-CND : SST-CNDモデル。&lt;br /&gt;
* dynamicSmagorinsky : ダイナミックスマゴリンスキーモデル。&lt;br /&gt;
* EllipticBlending : k-epsilonラグ楕円ブレンディング乱流モデル.&lt;br /&gt;
&lt;br /&gt;
ソースコード&lt;br /&gt;
&lt;br /&gt;
* $WM_PROJECT_DIR/plugins/turbulence-community&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
OpenCFDは謝意を表する。&lt;br /&gt;
&lt;br /&gt;
* the Turbulence Technical Committee&lt;br /&gt;
* Matheus Macedo, Chenyu Wu, Yufei Zhang Michael Alletto, Mario J. Rincón, Alberto Passalacqua, Eleonora Gajetti, and their colleagues for their valuable contributions and assistance.&lt;br /&gt;
&lt;br /&gt;
== 会社概要 ==&lt;br /&gt;
OpenFOAMは、ESI-OpenCFDのコアチームによって制作されています。&lt;br /&gt;
アンドリュー・ヘザー&lt;br /&gt;
&lt;br /&gt;
マティス・ヤンセンス&lt;br /&gt;
&lt;br /&gt;
マーク・オレセン&lt;br /&gt;
&lt;br /&gt;
プラシャント・ソナーカル&lt;br /&gt;
&lt;br /&gt;
パワン・ギルディヤル&lt;br /&gt;
&lt;br /&gt;
クタルムシュ・ベルシン&lt;br /&gt;
&lt;br /&gt;
マテイ・フォルマン&lt;br /&gt;
&lt;br /&gt;
キアラ・ペシ&lt;br /&gt;
&lt;br /&gt;
マルティン・リヒトメス&lt;br /&gt;
&lt;br /&gt;
ジリ・ポランスキー&lt;br /&gt;
&lt;br /&gt;
アン・ロンチェッティ&lt;br /&gt;
&lt;br /&gt;
フレッド・メンドンサ&lt;br /&gt;
&lt;br /&gt;
スワプニル・サロケ&lt;br /&gt;
&lt;br /&gt;
ヴェンカタ・ラマナ・イーガ&lt;br /&gt;
&lt;br /&gt;
グローバルESIチームからの幅広いサポート&lt;br /&gt;
&lt;br /&gt;
ESIグループ&lt;br /&gt;
&lt;br /&gt;
ESIグループ（ESIソフトウェア（インド）プライベート・リミテッド）&lt;br /&gt;
&lt;br /&gt;
ESIグループ（北米）&lt;br /&gt;
&lt;br /&gt;
ESIグループ（日本ESI）&lt;br /&gt;
&lt;br /&gt;
ESIウェブチーム&lt;br /&gt;
&lt;br /&gt;
そして、以下からの貢献&lt;br /&gt;
&lt;br /&gt;
OpenFOAMコミュニティ&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM&amp;diff=860</id>
		<title>OpenFOAM</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM&amp;diff=860"/>
		<updated>2024-12-03T14:06:41Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: /* リリースノート */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;このページではOpenFOAMについてまとめていきます。&lt;br /&gt;
&lt;br /&gt;
== リリースノート ==&lt;br /&gt;
&lt;br /&gt;
'''OpenCFD'''&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2406 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2312リリースノート|OpenFOAM v2312 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2306リリースノート|OpenFOAM v2306 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2212 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2206 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2112 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2106 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[https://www.notion.so/OF2012-3625e0d8029b40bda20fafe481dcbd95 OpenFOAM v2012 リリースノート]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2006 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1912 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1906 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1812 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1806 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The OpenFOAM Foundation'''&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 12 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 11 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 10 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 9|OpenFOAM 9 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 8 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v7 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v6.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 4.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 3.0.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 2.4.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
==スターティングガイド==&lt;br /&gt;
[[OpenFOAMについて]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAMのインストール]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/e63d4cf76ea2fea659b2 チュートリアルケースの実行]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/24b8491bf9776c3a27db OpenFOAMで入力できる項目の調べ方]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/e4b13100e15508981a85 OpenFOAMの$FOAM変数]&lt;br /&gt;
&lt;br /&gt;
==困った時は？==&lt;br /&gt;
[https://qiita.com/mmer547/items/7c7c257dcaf2efbc730b OpenFOAM Google Groupに投稿する際に抑えるポイント]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/6b041536e2ac5dd17721 OpenFOAMで計算するネタがない時の探し方]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAMのエラーメッセージの対応]]&lt;br /&gt;
&lt;br /&gt;
==プリプロセス==&lt;br /&gt;
&lt;br /&gt;
===形状作成===&lt;br /&gt;
&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/OpenFOAM%EF%BC%9A%E5%BD%A2%E7%8A%B6%E4%BD%9C%E6%88%90 形状作成ツールまとめ]&lt;br /&gt;
&lt;br /&gt;
===メッシュ===&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/OpenFOAM%E3%81%AE%E3%83%A1%E3%83%83%E3%82%B7%E3%83%A3%E3%83%BC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6 OpenFOAMのメッシャーについて]&lt;br /&gt;
&lt;br /&gt;
[[メッシュ作成:blockMesh]]&lt;br /&gt;
&lt;br /&gt;
[[メッシュ作成:snappyHexMesh]]&lt;br /&gt;
&lt;br /&gt;
[[メッシュ作成:cfMesh]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/9fca38b8e8eadc869bb8 SalomeでOpenFOAMのメッシュを用意する方法]&lt;br /&gt;
&lt;br /&gt;
===境界条件===&lt;br /&gt;
[[境界条件]]&lt;br /&gt;
&lt;br /&gt;
==ソルバ==&lt;br /&gt;
[[simpleFoamについて]]&lt;br /&gt;
&lt;br /&gt;
[[ExecutionTimeとClockTimeについて]]&lt;br /&gt;
&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/SIMPLEC%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E8%A8%88%E7%AE%97%E5%AE%9F%E8%A1%8C%EF%BC%88OpenFOAM3.0.1%EF%BC%89 SIMPLECを使用した計算実行（OpenFOAM3.0.1）]&lt;br /&gt;
&lt;br /&gt;
===並列計算の実行方法===&lt;br /&gt;
&lt;br /&gt;
[[decomposeParDictの中身]]&lt;br /&gt;
&lt;br /&gt;
===エラーメッセージ===&lt;br /&gt;
[[v1806のエラーメッセージ]]&lt;br /&gt;
&lt;br /&gt;
==ポストプロセス==&lt;br /&gt;
[[ログファイルから残差ログを抽出]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/e463235ddb93f08db68a OpenFOAMのpostProcessについて]&lt;br /&gt;
&lt;br /&gt;
==チュートリアルケース==&lt;br /&gt;
[[チュートリアルケース|チュートリアルケース一覧]]&lt;br /&gt;
&lt;br /&gt;
==カスタマイズ==&lt;br /&gt;
[https://qiita.com/mmer547/items/2997bf8c71fe1e2423c9 OpenFOAM ソースコードの探し方]&lt;br /&gt;
&lt;br /&gt;
==その他==&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/foam-extend_4.0%E3%82%92Bash_on_Ubuntu_on_Windows%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB foam-extend 4.0をBash on Ubuntu on Windowsにインストール]&lt;br /&gt;
&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/ESI_Windows%E7%89%88OpenFOAM%E3%81%AE%E5%B0%8E%E5%85%A5 ESI Windows版OpenFOAMの導入]&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/OpenCAE/Supercomputer-OpenFOAM-Training/-/wikis/home スーパーコンピュータOpenFOAM講習会]&lt;br /&gt;
&lt;br /&gt;
== 関連サービス ==&lt;br /&gt;
=== プリプロセス ===&lt;br /&gt;
[https://www.xsim.info/products/products.html XSim.Work]&lt;br /&gt;
&lt;br /&gt;
== 関連書籍 ==&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEDEXCS-OpenFOAM%E3%83%8F%E3%83%B3%E3%83%89%E3%83%96%E3%83%83%E3%82%AF-%E9%87%8E%E6%9D%91-%E6%82%A6%E6%B2%BB/dp/4621306138/ref=sr_1_5?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-5 オープンCAEのためのDEXCS for OpenFOAMハンドブック]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%81%AB%E3%82%88%E3%82%8B%E7%86%B1%E7%A7%BB%E5%8B%95%E3%81%A8%E6%B5%81%E3%82%8C%E3%81%AE%E6%95%B0%E5%80%A4%E8%A7%A3%E6%9E%90-%E7%AC%AC2%E7%89%88-%E4%B8%80%E8%88%AC%E7%A4%BE%E5%9B%A3%E6%B3%95%E4%BA%BA%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E5%AD%A6%E4%BC%9A/dp/4627691025/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-1 OpenFOAMによる熱移動と流れの数値解析(第2版) ]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%81%AE%E6%AD%A9%E3%81%8D%E6%96%B9-%E6%8A%80%E8%A1%93%E3%81%AE%E6%B3%89%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%EF%BC%88NextPublishing%EF%BC%89-%E5%B7%9D%E7%95%91-%E7%9C%9F%E4%B8%80/dp/4844379526/ref=sr_1_6?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-6　OpenFOAMの歩き方]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9-%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%83%86%E3%83%A9%E3%83%90%E3%82%A4%E3%83%88/dp/4627691610/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-2 OpenFOAMライブラリリファレンス]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-Tomislav-Mari%C2%B4c/dp/4627670915/ref=sr_1_3?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-3 OpenFOAMプログラミング]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%81%AB%E3%82%88%E3%82%8B%E7%86%B1%E7%A7%BB%E5%8B%95%E3%81%A8%E6%B5%81%E3%82%8C%E3%81%AE%E6%95%B0%E5%80%A4%E8%A7%A3%E6%9E%90-%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E5%AD%A6%E4%BC%9A/dp/4627691017/ref=sr_1_4?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-4 OpenFOAMによる熱移動と流れの数値解析]&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM_12_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=859</id>
		<title>OpenFOAM 12 リリースノート</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM_12_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=859"/>
		<updated>2024-12-02T12:38:19Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: ページの作成:「OpenFOAM Foundationは、オープンソースCFDツールボックスOpenFOAMのバージョン12のリリースを発表します。 バージョン12では、モジュール式ソルバーとNCC（Non Conformal Coupling）を活用し、メッシングやカップリングの簡素化など、複数の領域を含むシミュレーションを改善しました。  インジェクションや分配、並列分解、再分配、負荷分散など、粒子コー…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenFOAM Foundationは、オープンソースCFDツールボックスOpenFOAMのバージョン12のリリースを発表します。 バージョン12では、モジュール式ソルバーとNCC（Non Conformal Coupling）を活用し、メッシングやカップリングの簡素化など、複数の領域を含むシミュレーションを改善しました。  インジェクションや分配、並列分解、再分配、負荷分散など、粒子コードの書き換え作業が続いている。 新しい便利な境界条件や、入力値に[bar]などの単位を含めるオプションがあり、それに応じて変換されます。 TUbuntu24.04および22.04用のopenfoam12パッケージが標準のparaviewパッケージを使用するようになり、サードパーティ製ソフトウェアのインストールがより簡単になりました。&lt;br /&gt;
&lt;br /&gt;
OpenFOAM 12には次のようなハイライトがある。&lt;br /&gt;
&lt;br /&gt;
* モジュール式ソルバー：他の変数の方程式のための1変数のソース項をサポートしています。&lt;br /&gt;
* 多相：質量、運動量、熱伝導、固相のモデルの改良。&lt;br /&gt;
* 乱流モデリング：簡略化および補正された壁関数のロバストな制限。&lt;br /&gt;
* 熱：粘性加熱モデルを追加し、熱力学的特性の名称を改良。&lt;br /&gt;
* 粒子追跡：一般化された射出と粒子分布。&lt;br /&gt;
* メッシュ：メッシュ生成と複数のメッシュ領域の結合をアップグレード。&lt;br /&gt;
* 並列実行：負荷分散、分解、再分配のための効率的なオプション。&lt;br /&gt;
* ファンクション・オブジェクト：system/functionsファイルに移動し、新しいファンクション・オブジェクトを追加。&lt;br /&gt;
* モデル：質量の連続性に追加される体積と質量のソース。&lt;br /&gt;
* 境界条件：新しい圧力、速度、温度の境界条件。&lt;br /&gt;
* ケース構成：パラメータには単位を含めることができる（例：[bar]）。&lt;br /&gt;
* プログラミング：ソースコードを検索するfoamFindスクリプト、コード化された関数オブジェクトの例。&lt;br /&gt;
* その他 ParaViewと分解ライブラリのインストールがより簡単になりました。&lt;br /&gt;
* 722件のコードコミット、100件以上の問題解決。&lt;br /&gt;
* ISO/IEC 14882:2011 (C++14): GCC v5.5+、Clang v16+でテスト済み（v10+でも動作するはず）。&lt;br /&gt;
&lt;br /&gt;
OpenFOAM 12は、以下のプラットフォーム用にパッケージ化されています：&lt;br /&gt;
&lt;br /&gt;
* Ubuntu Linux: Ubuntu 20.04、22.04、24.04用のパッケージインストール；&lt;br /&gt;
* Windows：UbuntuパックでLinux用のWindowsサブシステムを使用してインストールします；&lt;br /&gt;
* cmacOS: UbuntuパックでCanonical Multipassを使用したインストール。&lt;br /&gt;
&lt;br /&gt;
OpenFOAM 12 Source Packは、適切なLinuxプラットフォームでコンパイルできます。&lt;br /&gt;
&lt;br /&gt;
== モジュール式ソルバー ==&lt;br /&gt;
&lt;br /&gt;
* 一般： ソルバーモジュールによる入力パラメータの再読み込みがよりシンプルで効率的になりました[ commit 6054b1 ]。 多領域ケースに、特定の許容値に達したときに解を停止する、より単純なコントロールが含まれるようになりました[ commit 815f0b ]。&lt;br /&gt;
* 非圧縮ソルバーと圧縮ソルバー： dnsFoamソルバーはOUForce fvModelを持つincompressibleFluidソルバーモジュールに置き換えられました。&lt;br /&gt;
* 堅実なソルバー： 熱物理モデル補正ステップを非直交補正ループ内に移動することにより、固体ソルバーモジュールを修正しました。&lt;br /&gt;
* フィルムソルバー： isothermalFilmソルバーモジュールでインピンジメント圧力が修正されました[ commit 0b321e ]。&lt;br /&gt;
* 数値計算：異なる変数に関する方程式に適用される1変数のソース項用の新しい sourceProxy() 関数を作成しました。例えば、体積/質量ソースを圧力方程式（密度ではなく）に適用します。[コミット a5ea0b ].&lt;br /&gt;
&lt;br /&gt;
== 多相 ==&lt;br /&gt;
&lt;br /&gt;
* 運動量移動: multiphaseEulerFoamに新しい陰解法抗力アルゴリズムが追加され、小粒子やEuler-VoFの高抗力ケースの収束が大幅に改善されました[ commit 5fd304 ]。 新しい陰解法による仮想質量力の実装により、気泡流ケースの収束性が大幅に改善されました[ commit 18200e ]。&lt;br /&gt;
* 物質移動: multiphaseEulerFoam が均質凝結と相分離のモデルを含むようになりました [ commit 046680c4 ]。 coefficientMassTransfer fvModelは2相間の物質移動を生成するプロトタイプの例です[ commit 2f018f ]。&lt;br /&gt;
* 熱伝導： multiphaseEulerソルバーに単純なPrandtl熱伝達モデルを追加し、対応する抗力モデルの運動量伝達係数に比例した熱伝達係数を作成するようにしました[ commit 01d0af39 ]。&lt;br /&gt;
* 固相：固相の新しい熱相モデルを追加しました[ commit 020463 ]。 定常相のサポートを改善しました[ commit 9c3a40 ]。 新しいphaseSolidThermophysicalTransportModelクラスを使用するように更新し、定常固相での異方性伝導をサポートしました[ commit 5e0387 ]。 等温定常固相のための新しいIsothermalSolidPhaseModel [ commit ad3d25 ]。&lt;br /&gt;
* 境界条件： multiphaseExternalTemperature境界条件は、multiphaseFluidソルバーモジュールのexternalTemperatureを提供します[ commit 6fce00 ]。&lt;br /&gt;
* インターフェイスのキャプチャ： 多相ソルバーにおいて、PLICやMPLICなどの圧縮界面スキームをCrank-Nicolson時間スキーム[ commit 7ec1e2 ]でよりロバストにしました。&lt;br /&gt;
* 表面波： 新しい不規則表面波モデル [ commit c0da2a ]。 GodaJONSWAP波浪スペクトルは、風速とフェッチの代わりに有義波高と周期が指定される、JONSWAPスペクトルの代替近似パラメータ化を提供します[ commit cbec0045 ]。&lt;br /&gt;
&lt;br /&gt;
== 乱流モデリング ==&lt;br /&gt;
&lt;br /&gt;
* RASのモデリング： 乱流散逸εの境界の下限は、安定性とロバスト性を改善するεの最小値ではなく、最大乱流粘性ナットに基づいています[ commit 854f4541 ]また、乱流散逸ωについても同じです[ commit 195dfbe1 ]。&lt;br /&gt;
* 壁関数： alphatJayatillekeWallFunction熱壁関数は、実装を単純化し、より一貫性を持たせるために、それぞれのナット運動量壁関数のyPlusを使用します[ commit 054a5206 ]。 乱流壁関数のωとεのコーナー重み付けを再実装しました[ commit 1218bd08 ]。非整形多領域の場合の壁関数の境界条件のマッピングを修正しました[ commit b6caf356 ]。&lt;br /&gt;
&lt;br /&gt;
== 熱 ==&lt;br /&gt;
&lt;br /&gt;
* エネルギーだ： 新しいviscousHeating fvModelが、全エネルギー方程式に粘性加熱源を追加しました[ commit bbc39318 ]。&lt;br /&gt;
* 熱力学： 熱力学のすべての物性関数は、エネルギーやエンタルピーが特定の量であることを示すために小文字を使うようになりました[ commit abe43a95 ]。&lt;br /&gt;
&lt;br /&gt;
== パーティクルとトラッキング ==&lt;br /&gt;
&lt;br /&gt;
* 分配金： 分布のコードを一般化し、書き換え助詞のコードを含め、より広く使えるようにしました [ commit e1e0e258 ]。&lt;br /&gt;
* 注射をする： ラグランジュモデリングにおいて、パッチインジェクションモデルの U0 エントリに、初速度を補間するフィールド名を指定できるようになりました[ commit 96b61305 ]。&lt;br /&gt;
* データ処理： 新しいvolumeFraction関数は粒子雲の体積率を計算します[ commit 31b096 ]。&lt;br /&gt;
&lt;br /&gt;
== メッシュ ==&lt;br /&gt;
&lt;br /&gt;
* 一般的なことだ： dynamicMeshライブラリは、保守性を向上させるためにコードを大幅にリファクタリングした結果、polyTopoChangeライブラリとmotionSolversライブラリに分離されました[ commit b9fe7df3 ]。&lt;br /&gt;
* 生成： extrudeMeshに新しいcylindricalRadial押し出しメソッドが追加されました [ commit e880ec ]. extrudeMeshは新しく生成されたセルを1つ以上のセルゾーンに割り当てることができるようになりました [ commit 33aa4496 ]. snappyHexMeshは-regionオプションを使ってリージョンメッシュを直接リージョンサブディレクトリに生成できるようになりました [ commit 9ace5366 ]. snappyHexMeshのレイヤー挿入のfeatureAngleパラメーターの使用を修正しました[ commit 47fa9bc6 ]。&lt;br /&gt;
* 複数リージョン：mergeMeshesは別々のメッシュ（別々のpolyMeshディレクトリ）のリストを1つのメッシュ（1つのpolyMeshディレクトリ）にまとめることができます[ commit f47e1b0b ]。 stitchMeshアプリケーションをnon-conformal coupledインターフェイスのパッチ交差機能を使用するように置き換えた [ commit 69da8f3d ]。&lt;br /&gt;
* 非共形結合： NCCを並列再分配（負荷分散）と適応的精密化でメッシュの動きに対応させる [ commit 9af6bd ]。 NCC などのメッシュスティッチャーのロバスト性を改善 [ commit 2057174b ]。&lt;br /&gt;
* Boundary: 新しい patchOrder ユーティリティでメッシュのパッチの並び替えができるようになりました [ commit 4707bc91 ]。&lt;br /&gt;
* その他 checkMeshユーティリティまたはcheckMesh関数オブジェクト(後者は移動メッシュの場合)を使ってメッシュをチェックすることができます。&lt;br /&gt;
* モーション マルチバルブICエンジンのメッシュモーションのための新しいfvMeshMover [ commit 7d65e66b ]。&lt;br /&gt;
* ゾーン：メッシュゾーンの処理が改善されました。[ コミット ca2cae8c] コードの重複を削減しました。[コミット4ad52ea1]&lt;br /&gt;
&lt;br /&gt;
== パラレルランニング ==&lt;br /&gt;
&lt;br /&gt;
* Lオードバランシング： パーティクルクラウドトラッキングやケミストリーの統合は、CPUロードキャッシングをオンにすることで、並列シミュレーション中に自動ロードバランシングを使用することができます[ commit 41705e9e ]。新しい parMETIS インターフェースは、ParMETIS ディストリビューターを使用したマルチ制約と再分配による負荷分散を提供した [ commit 40bcabf7 ]。 aachenBomb のチュートリアルの例では、ラグランジュと化学の両方による多制約の負荷分散を示しています [ commit e727809b ]。&lt;br /&gt;
* 分解と再配布: decomposePar が NCC を使用する際に nonConformalProcessorCyclic パッチを正しく作成するようになりました [ commit 89c818 ]。動的メッシュ精密化の並列ロバスト性を改善 [ commit cd133a28 ]。  特にsnappyHexMesh [ commit adfc80c4 ]を使って並列メッシュを作成するときに起こりうる、あるプロセッサが一時的にゼロセルを含むときに、Zoltanをメッシュの再配分に使えるようになりました; ParMETIS [ commit 3cdec1dc ]でも同じです。&lt;br /&gt;
&lt;br /&gt;
== 機能オブジェクト ==&lt;br /&gt;
&lt;br /&gt;
* 一般的なことだ： 関数オブジェクトは別の system/functions ファイルで設定されるべきで、不要な関数オブジェクトの読み込みやビルドを避けるためです [ commit de363dde ]。新しいfluidMaxDelta関数オブジェクトは、時間の関数として最大時間ステップとクーラント数を設定できます[ commit 277944 ]。writeObjects関数Objectは、指定されたオブジェクトが見つからない場合、オブジェクト・レジストリからすべてのオブジェクト名とその型を表示します[ commit 5039aec6 ]。パッチを操作する関数オブジェクトは、単一のパッチのpatchキーワードと複数のパッチのpatchキーワードの両方を読むことができます [ commit e5f48bfc ]。&lt;br /&gt;
* 力だ： 新しいmovingForcesとrigidBodyForces関数オブジェクトは、指定された、または計算された回転中心を持つ移動剛体の力とモーメントを計算し、書き込みます[ commit 2daceb90 ]。wallShearStress関数オブジェクトは、filmWall [ commit 898cb9b5 ]など、どのタイプのウォールパッチでも計算できます。&lt;br /&gt;
* フィールド cylindricalパッケージ関数オブジェクトはベクトル場を円筒座標に変換します[ commit 1622e190 ]。 新しいspecieFlux、specieAdvectiveFlux、specieDiffusiveFlux関数オブジェクトは流体種のフラックスをsurfaceScalarFieldとして計算します。&lt;br /&gt;
* ICエンジン： 新しいmultiValveEngineState functionObjectはICエンジンの計算でピストンとバルブの動きを表示し、ログに記録します[ commit 9753b67f ]。&lt;br /&gt;
* その他 phaseScalarTransport関数オブジェクトで、alphaPhiフィールドが存在しない場合、新しいsolveAlphaPhiスイッチを設定することで計算できるようになりました[ commit 2bc91ecf ]。&lt;br /&gt;
&lt;br /&gt;
== Models ==&lt;br /&gt;
&lt;br /&gt;
* 一般的なことだ： MRFはアダプティブ・メッシュ・リファインメントで動作します[ commit cdef2003 ]。&lt;br /&gt;
* 液体ソース： 新しいvolumeSource fvModelは非圧縮性ソルバーには連続方程式に体積ソースを適用し、圧縮性ソルバーには同等のmassSource fvModelを適用します[ commit 9181a6 ]。  ドメインに流体を導入するfvModelsからのソースがフィールドファイルのboundaryFieldセクションで指定されるようになりました[ commit 171101 ]。&lt;br /&gt;
* 勢いだ： 新しい propellerDisk fvModel は、プロペラ曲線 [ commit b3b1b5b6 ] に基づいて、プロペラを近似するディスク運動量ソースを提供します。&lt;br /&gt;
* その他 新しいOUForce fvModelは等方乱流の箱の直接数値シミュレーションのためにランダムなOrnstein-Uhlenbeck過程の力を計算し、運動量方程式に適用します[ commit f0ee70 ]。&lt;br /&gt;
&lt;br /&gt;
== 一般的な境界条件 ==&lt;br /&gt;
&lt;br /&gt;
* 圧力：entrainmentPressure境界条件は、テンプレートケースの例[ commit 2a9a2d0e ]の開いた境界での圧力に推奨されています。&lt;br /&gt;
* ベロシティ 円筒座標で入口速度を記述するcylindricalInletVelocity境界条件において、角速度をrad/sまたはrpmで指定できるようになりました。movingMappedWallVelocity境界条件は、2つのメッシュ領域の境界で使用することができ、片側の壁からもう片側の流体に対して滑り止め条件を適用することができます[ commit 59ebac71 ]。&lt;br /&gt;
* 温度だ： 新しいlumpedMassTemperature境界条件は、境界パッチ[ commit 3ab0e63e ]によって全体的または部分的に囲まれた固体の温度をモデル化します。&lt;br /&gt;
* 一般的なことだ： 表データを持つFunction1の補間スキームのデフォルトは線形ですが、ステップに設定できるようになりました[ commit 50c053 ]。すべての境界条件におけるフィールドマッピングの簡略化 [ commit cef86f ]。 多項式 Function1 はより単純な入力構文を持つ [ commit c3f131e8 ]。&lt;br /&gt;
* カップリング： nonConformalMappedWallパッチタイプは、例えばCHTのために、界面で面を適合させる必要なしに、別々の領域のメッシュを接続する柔軟な方法を提供します[ commit a3e38977 ]。&lt;br /&gt;
&lt;br /&gt;
== ケース構成 ==&lt;br /&gt;
&lt;br /&gt;
* データの可視化: foamMonitorに、データの列を選択し、Y軸に独立変数をプロットし、定期的に更新することなく単一のグラフを表示する新しいオプションが追加されました[ commit 9252d0c0 ]。&lt;br /&gt;
* ケースの初期化: deltaTFactorをcontrolDictファイルで設定し、可変時間ステップでの調整率を制限することができます。無次元のパラメータはdimension []; [ commit 87ff44 ]で指定できる。 foamDictionaryに-outputオプションが追加され、変更された辞書を任意の指定されたファイルに書き出せるようになりました[ commit 6d9bc6 ]。寸法付きパラメータを値の前後に寸法を指定できるようになりました[ commit 209a3756 ]。foamDictionary に入力ファイルの項目名を変更するオプションが追加されました [ commit b0dbdd4a ]。&lt;br /&gt;
* 単位： 入力パラメーターに単位を指定できるようになり、例えば圧力の[bar]は、kg/(ms²) [ commit 476bb42b ]のような従来の単位に変換されます。新しいfoamUnitsスクリプトは、入力パラメータの単位(例えば[cal]や[J])とその変換、および次元単位を記述します[ commit e4abe3d5 ]。例えば、回転速度omegaは[rpm] [ commit 3928fbb8 ]として指定されます。&lt;br /&gt;
&lt;br /&gt;
単位については、&amp;quot;OpenFOAM User Guide &amp;quot;を参照してください： 4.2.6. 次元単位&amp;quot; と以下のサブセクション、および foamUnits スクリプトについては、&amp;quot;OpenFOAM User Guide： 4.7.7 foamUnits スクリプト&amp;quot; を参照してください。&lt;br /&gt;
&lt;br /&gt;
== プログラミング ==&lt;br /&gt;
&lt;br /&gt;
* コード化された入力： 入力ファイル用の#calcディレクティブは、ニュートン・ラプソン反復を使って方程式の根を求める例で示されます[ commit cc9991 ]。 入力ファイルに対する#codeStreamディレクティブは、グラフデータをプロットする例で示されます[ commit fbc36b ]。 pitzDailySteady のサンプルケースには、ひずみ率を書き込むコード化された関数オブジェクトが含まれています [ commit 58cb08 ]。 コード化された関数オブジェクトの例をいくつか追加しました [ commit 811faaa0 ]。&lt;br /&gt;
* コード検索: 新しい foamFind スクリプトは OpenFOAM ファイルを検索し、オプションでファイル全体または検索文字列にマッチする行を表示して内容を処理します [ commit 1c6d785c ]。&lt;br /&gt;
&lt;br /&gt;
foamFind スクリプトの詳細については、&amp;quot;OpenFOAM User Guide &amp;quot;を参照してください： 4.7.8 foamFind スクリプト&amp;quot; を参照してください。&lt;br /&gt;
&lt;br /&gt;
== その他 ==&lt;br /&gt;
&lt;br /&gt;
* その他の数字： 一般的な分布に standardNormal 関数を追加 [ commit d34d9b93 ]。&lt;br /&gt;
* フィールド フィールドはメッシュのパッチの順番でパッチフィールドを構築するようになり、ロバスト性が向上しました [ commit 16b8bf5e ]。&lt;br /&gt;
* データ出力： I/Oで時刻が使用される場合、各値が一意になるように精度が自動的に調整される [ commit d2817a0 ]。&lt;br /&gt;
* インストール： ParaViewと分解ライブラリのインストールを制御する新しい環境変数を追加 [ commit 48fcb7f6 ]。&lt;br /&gt;
&lt;br /&gt;
== クレジット ==&lt;br /&gt;
OpenFOAM12は、次のように制作された：&lt;br /&gt;
&lt;br /&gt;
* メンテナンス (CFD Direct): Henry Weller, Will Bainbridge, Chris Greenshields.&lt;br /&gt;
* 投稿者: Timo Niemi, Juho Peltola, Heikki Kahila, Bulut Tekgül, Stanislau Stasheuski.&lt;br /&gt;
&lt;br /&gt;
== ライセンス ==&lt;br /&gt;
OpenFOAM 12は、OpenFOAM FoundationによってGeneral Public Licence v3の下で配布されています。&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM&amp;diff=858</id>
		<title>OpenFOAM</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM&amp;diff=858"/>
		<updated>2024-12-02T12:23:12Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: /* リリースノート */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;このページではOpenFOAMについてまとめていきます。&lt;br /&gt;
&lt;br /&gt;
== リリースノート ==&lt;br /&gt;
&lt;br /&gt;
'''OpenCFD'''&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2312リリースノート|OpenFOAM v2312 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2306リリースノート|OpenFOAM v2306 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2212 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2206 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2112 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2106 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[https://www.notion.so/OF2012-3625e0d8029b40bda20fafe481dcbd95 OpenFOAM v2012 リリースノート]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2006 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1912 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1906 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1812 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1806 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The OpenFOAM Foundation'''&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 12 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 11 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 10 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 9|OpenFOAM 9 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 8 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v7 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v6.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 4.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 3.0.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 2.4.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
==スターティングガイド==&lt;br /&gt;
[[OpenFOAMについて]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAMのインストール]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/e63d4cf76ea2fea659b2 チュートリアルケースの実行]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/24b8491bf9776c3a27db OpenFOAMで入力できる項目の調べ方]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/e4b13100e15508981a85 OpenFOAMの$FOAM変数]&lt;br /&gt;
&lt;br /&gt;
==困った時は？==&lt;br /&gt;
[https://qiita.com/mmer547/items/7c7c257dcaf2efbc730b OpenFOAM Google Groupに投稿する際に抑えるポイント]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/6b041536e2ac5dd17721 OpenFOAMで計算するネタがない時の探し方]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAMのエラーメッセージの対応]]&lt;br /&gt;
&lt;br /&gt;
==プリプロセス==&lt;br /&gt;
&lt;br /&gt;
===形状作成===&lt;br /&gt;
&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/OpenFOAM%EF%BC%9A%E5%BD%A2%E7%8A%B6%E4%BD%9C%E6%88%90 形状作成ツールまとめ]&lt;br /&gt;
&lt;br /&gt;
===メッシュ===&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/OpenFOAM%E3%81%AE%E3%83%A1%E3%83%83%E3%82%B7%E3%83%A3%E3%83%BC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6 OpenFOAMのメッシャーについて]&lt;br /&gt;
&lt;br /&gt;
[[メッシュ作成:blockMesh]]&lt;br /&gt;
&lt;br /&gt;
[[メッシュ作成:snappyHexMesh]]&lt;br /&gt;
&lt;br /&gt;
[[メッシュ作成:cfMesh]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/9fca38b8e8eadc869bb8 SalomeでOpenFOAMのメッシュを用意する方法]&lt;br /&gt;
&lt;br /&gt;
===境界条件===&lt;br /&gt;
[[境界条件]]&lt;br /&gt;
&lt;br /&gt;
==ソルバ==&lt;br /&gt;
[[simpleFoamについて]]&lt;br /&gt;
&lt;br /&gt;
[[ExecutionTimeとClockTimeについて]]&lt;br /&gt;
&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/SIMPLEC%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E8%A8%88%E7%AE%97%E5%AE%9F%E8%A1%8C%EF%BC%88OpenFOAM3.0.1%EF%BC%89 SIMPLECを使用した計算実行（OpenFOAM3.0.1）]&lt;br /&gt;
&lt;br /&gt;
===並列計算の実行方法===&lt;br /&gt;
&lt;br /&gt;
[[decomposeParDictの中身]]&lt;br /&gt;
&lt;br /&gt;
===エラーメッセージ===&lt;br /&gt;
[[v1806のエラーメッセージ]]&lt;br /&gt;
&lt;br /&gt;
==ポストプロセス==&lt;br /&gt;
[[ログファイルから残差ログを抽出]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/e463235ddb93f08db68a OpenFOAMのpostProcessについて]&lt;br /&gt;
&lt;br /&gt;
==チュートリアルケース==&lt;br /&gt;
[[チュートリアルケース|チュートリアルケース一覧]]&lt;br /&gt;
&lt;br /&gt;
==カスタマイズ==&lt;br /&gt;
[https://qiita.com/mmer547/items/2997bf8c71fe1e2423c9 OpenFOAM ソースコードの探し方]&lt;br /&gt;
&lt;br /&gt;
==その他==&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/foam-extend_4.0%E3%82%92Bash_on_Ubuntu_on_Windows%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB foam-extend 4.0をBash on Ubuntu on Windowsにインストール]&lt;br /&gt;
&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/ESI_Windows%E7%89%88OpenFOAM%E3%81%AE%E5%B0%8E%E5%85%A5 ESI Windows版OpenFOAMの導入]&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/OpenCAE/Supercomputer-OpenFOAM-Training/-/wikis/home スーパーコンピュータOpenFOAM講習会]&lt;br /&gt;
&lt;br /&gt;
== 関連サービス ==&lt;br /&gt;
=== プリプロセス ===&lt;br /&gt;
[https://www.xsim.info/products/products.html XSim.Work]&lt;br /&gt;
&lt;br /&gt;
== 関連書籍 ==&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEDEXCS-OpenFOAM%E3%83%8F%E3%83%B3%E3%83%89%E3%83%96%E3%83%83%E3%82%AF-%E9%87%8E%E6%9D%91-%E6%82%A6%E6%B2%BB/dp/4621306138/ref=sr_1_5?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-5 オープンCAEのためのDEXCS for OpenFOAMハンドブック]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%81%AB%E3%82%88%E3%82%8B%E7%86%B1%E7%A7%BB%E5%8B%95%E3%81%A8%E6%B5%81%E3%82%8C%E3%81%AE%E6%95%B0%E5%80%A4%E8%A7%A3%E6%9E%90-%E7%AC%AC2%E7%89%88-%E4%B8%80%E8%88%AC%E7%A4%BE%E5%9B%A3%E6%B3%95%E4%BA%BA%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E5%AD%A6%E4%BC%9A/dp/4627691025/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-1 OpenFOAMによる熱移動と流れの数値解析(第2版) ]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%81%AE%E6%AD%A9%E3%81%8D%E6%96%B9-%E6%8A%80%E8%A1%93%E3%81%AE%E6%B3%89%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%EF%BC%88NextPublishing%EF%BC%89-%E5%B7%9D%E7%95%91-%E7%9C%9F%E4%B8%80/dp/4844379526/ref=sr_1_6?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-6　OpenFOAMの歩き方]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9-%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%83%86%E3%83%A9%E3%83%90%E3%82%A4%E3%83%88/dp/4627691610/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-2 OpenFOAMライブラリリファレンス]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-Tomislav-Mari%C2%B4c/dp/4627670915/ref=sr_1_3?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-3 OpenFOAMプログラミング]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%81%AB%E3%82%88%E3%82%8B%E7%86%B1%E7%A7%BB%E5%8B%95%E3%81%A8%E6%B5%81%E3%82%8C%E3%81%AE%E6%95%B0%E5%80%A4%E8%A7%A3%E6%9E%90-%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E5%AD%A6%E4%BC%9A/dp/4627691017/ref=sr_1_4?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-4 OpenFOAMによる熱移動と流れの数値解析]&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E3%82%B1%E3%83%BC%E3%82%B9&amp;diff=857</id>
		<title>チュートリアルケース</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E3%82%B1%E3%83%BC%E3%82%B9&amp;diff=857"/>
		<updated>2024-11-08T08:06:09Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ドキュメント作成される方は既存ページをご参考の上、基本情報の表を各ページにお書きください。それ以外の記載はご自由にどうぞ。&lt;br /&gt;
&lt;br /&gt;
テンプレートを用意しているので、新規ページには&amp;lt;nowiki&amp;gt;{{subst:OfTutTemplate}}&amp;lt;/nowiki&amp;gt;と書いて一度保存後、編集してください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XSim様がOpenFOAM v4.0についてチュートリアルのドキュメント化を完走されています。&lt;br /&gt;
&lt;br /&gt;
[https://www.xsim.info/articles/OpenFOAM/Tutorials.html XSim：OpenFOAM 付属チュートリアル一覧]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 標準tutorials ==&lt;br /&gt;
===DNS(直接数値シミュレーション)===&lt;br /&gt;
*dnsFoam：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Basic(基礎的なCFDコード)===&lt;br /&gt;
*[[laplacianFoam：フランジの熱伝導解析]]&lt;br /&gt;
*[[PotentialFoam：pitzDaily（ポテンシャル流れ）]]&lt;br /&gt;
*[[potentialFoam：円柱周りの流れ（ポテンシャル流れ）]]&lt;br /&gt;
*[[scalarTransportFoam： pitzDaily（パッシブスカラの輸送）]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Combustion(燃焼)===&lt;br /&gt;
*[[chemFoam：燃焼反応 CH4 ( 53 化学種, 325 反応 )]]&lt;br /&gt;
*[[chemFoam：燃焼反応 H2 ( 10 化学種, 27 反応 )]]&lt;br /&gt;
*[[chemFoam：燃焼反応 n-ヘプタン ( 544 化学種, 2446 反応 )]]&lt;br /&gt;
*[[chemFoam：燃焼反応 iso-オクタン ( 874 化学種, 3796 反応 )]]&lt;br /&gt;
*dieselFoam：&lt;br /&gt;
*engineFoam：&lt;br /&gt;
*fireFoam：&lt;br /&gt;
*PDRFoam：&lt;br /&gt;
*reactingFoam：&lt;br /&gt;
*XiFoam： &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Compressible(圧縮性流れ)===&lt;br /&gt;
*rhoCentralFoam：&lt;br /&gt;
*rhoPimpleFoam：&lt;br /&gt;
*rhoPorousMRFLTSPimpleFoam：&lt;br /&gt;
*rhoPorousMRFPimpleFoam：&lt;br /&gt;
*rhoPorousMRFSimpleFoam：&lt;br /&gt;
*rhoSimplecFoam：&lt;br /&gt;
*sonicFoam：&lt;br /&gt;
*sonicLiquidFoam：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[steadyCompressibleSRFFoam : 平板動翼の定常回転流れ場]]&lt;br /&gt;
*[[steadyCompressibleSRFFoam : 曲がった動翼の定常回転流れ場]]&lt;br /&gt;
*[[steadyCompressibleMRFFoam : 平板動静翼の定常回転流れ場]]&lt;br /&gt;
*[[steadyCompressibleMRFFoam : 曲がった動静翼の定常回転流れ場]]&lt;br /&gt;
*[[steadyUniversalMRFFoam : 軸流タービンのggiジャンプ]]&lt;br /&gt;
*[[steadyUniversalMRFFoam : 軸流タービンのミキシングプレーン]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DiscreteMethods(離散法)===&lt;br /&gt;
*dsmcFoam：freeSpacePeriodic&lt;br /&gt;
*dsmcFoam：freeSpaceStream&lt;br /&gt;
*dsmcFoam：supersonicCorner&lt;br /&gt;
*dsmcFoam：wedge15Ma5&lt;br /&gt;
*molecularDynamics：mdEquilibrationFoam：periodicCubeArgon&lt;br /&gt;
*molecularDynamics：mdEquilibrationFoam：periodicCubeWater&lt;br /&gt;
*molecularDynamics：mdFoam：nanoNozzle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Electromagnetics(電磁流体)===&lt;br /&gt;
*electrostaticFoam：chargedWire&lt;br /&gt;
*mhdFoam：hartmann&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Finance(金融工学)===&lt;br /&gt;
*[[financialFoam：ブラック・ショールズ方程式]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===HeatTransfer(熱輸送と浮力駆動流れ)===&lt;br /&gt;
*buoyantBaffleSimpleFoam：&lt;br /&gt;
*[[buoyantBoussinesqPisoFoam:hotroom:非定常浮力対流計算]]&lt;br /&gt;
*buoyantBoussinesqPimpleFoam：hotRoom&lt;br /&gt;
*buoyantBoussinesqSimpleFoam：hotRoom&lt;br /&gt;
*[[buoyantBoussinesqSimpleFoam：iglooWithFidges]]&lt;br /&gt;
*buoyantPimpleFoam：hotRoom&lt;br /&gt;
*[[buoyantSimpleFoam：buoyantCavity]]&lt;br /&gt;
*[[buoyantSimpleFoam：circuitBoardCooling]]&lt;br /&gt;
*[[buoyantSimpleFoam：hotRoom]]&lt;br /&gt;
*buoyantSimpleRadiationFoam：hotRadiationRoom&lt;br /&gt;
*buoyantSimpleRadiationFoam：hotRadiationRoomFvDOM&lt;br /&gt;
*[[chtMultiRegionFoam：multiRegionHeater]]&lt;br /&gt;
*[[chtMultiRegionFoam：multiRegionLiquidHeater]]&lt;br /&gt;
*[[chtMultiRegionFoam：windshieldDefrost:氷層の融解シミュレーション]]&lt;br /&gt;
*[[chtMultiRegionSimpleFoam：流体-固体熱連成解析（定常）]]&lt;br /&gt;
*[[chtMultiRegionSimpleFoam：熱交換器とファン]]&lt;br /&gt;
*chtMultiRegionSimpleFoam：multiRegionHeaterRadiation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Incompressible(非圧縮性流れ)===&lt;br /&gt;
*adjointShapeOptimizationFoam：pitzDaily&lt;br /&gt;
*[[boundaryFoam：平行平板間の発達した境界層の壁関数プロファイル]]&lt;br /&gt;
*channelFoam：&lt;br /&gt;
*icoFoam：&lt;br /&gt;
*[[MRFSimpleFoam：回転攪拌槽の流れ]]&lt;br /&gt;
*[[nonNewtonianIcoFoam：流路中心から外れた円柱周りの流れ]]&lt;br /&gt;
*[[pimpleDyMFoam：スクリューの回転流れ場]]&lt;br /&gt;
*[[pimpleDyMFoam: 円筒容器内での台形型ピストン押し込み流れ]]&lt;br /&gt;
*[[pimpleDyMFoam: 気流中にバネで懸架された翼型の６自由度剛体運動]]&lt;br /&gt;
*[[pimpleFoam：T型分岐管の流れ]]&lt;br /&gt;
*[[pimpleFoam:T型分岐管の流れ（ファン付き）]]&lt;br /&gt;
*[[pimpleFoam:楕円柱周りの流れ（乱流モデル比較）]]&lt;br /&gt;
*[[pisoFoam：pitzDaily(LES)]]&lt;br /&gt;
*porousSimpleFoam：&lt;br /&gt;
*[[potentialFreeSurfaceFoam:浮子の振動で生じる表面のさざ波]]&lt;br /&gt;
*[[shallowWaterFoam：浅水方程式による矩形段差流れ]]&lt;br /&gt;
*[[simpleFoam：pitzDaily]]&lt;br /&gt;
*[[simpleFoam（windSimpleFoam）：風力発電所の風環境シミュレーション]]&lt;br /&gt;
*SRFSimpleFoam：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*simpleSRFFoam : 軸流タービン動翼の定常非圧縮回転流れ場&lt;br /&gt;
*simpleSRFFoam : ミキサー動翼の定常非圧縮回転流れ場&lt;br /&gt;
*MRFSimpleFoam : 軸流タービン動静翼ggi定常回転流れ場&lt;br /&gt;
*MRFSimpleFoam : 軸流タービンのミキシングプレーン&lt;br /&gt;
*MRFSimpleFoam : ミキサー動静翼ggi定常回転流れ場&lt;br /&gt;
*pimpleDyMFoam : 軸流タービンの非定常回転流れ場&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lagrangian(ラグランジュ法による粒子追跡)===&lt;br /&gt;
*DPMFoam：Goldschmidt&lt;br /&gt;
*coalChemistryFoam：simplifiedSiwek&lt;br /&gt;
*icoUncoupledKinematicParcelFoam：hopper&lt;br /&gt;
*LTSReactingParcelFoam：counterFlowFlame2D&lt;br /&gt;
*LTSReactingParcelFoam：verticalChannel&lt;br /&gt;
*MPPICFoam：Goldschmidt&lt;br /&gt;
*MPPICFoam：column&lt;br /&gt;
*MPPICFoam：cyclone&lt;br /&gt;
*MPPICFoam：injectionChannel&lt;br /&gt;
*porousExplicitSourceReactingParcelFoam：&lt;br /&gt;
*reactingParcelFilmFoam：cylinder&lt;br /&gt;
*reactingParcelFilmFoam：hotBoxes&lt;br /&gt;
*reactingParcelFilmFoam：rivuletPanel&lt;br /&gt;
*reactingParcelFilmFoam：splashPanel&lt;br /&gt;
*reactingParcelFoam：filter&lt;br /&gt;
*reactingParcelFoam：parcelInBox&lt;br /&gt;
*reactingParcelFoam：verticalChannel&lt;br /&gt;
*simpleReactingParcelFoam：verticalChannel&lt;br /&gt;
*sprayFoam：aachenBomb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mesh(メッシュ)===&lt;br /&gt;
*foamyHexMesh：blob&lt;br /&gt;
*foamyHexMesh：flange&lt;br /&gt;
*foamyHexMesh：mixerVessel&lt;br /&gt;
*foamyHexMesh：simpleShapes&lt;br /&gt;
*foamyHexMesh：straightDuctImplicit&lt;br /&gt;
*foamyQuadMesh：OpenCFD&lt;br /&gt;
*foamyQuadMesh：jaggedBoundary&lt;br /&gt;
*foamyQuadMesh：square&lt;br /&gt;
*[[moveDynamicMesh：simpleHarmonicMotion]]&lt;br /&gt;
*[[moveDynamicMesh:SnakeRiverCanyon]]&lt;br /&gt;
*snappyHexMesh：flange&lt;br /&gt;
*snappyHexMesh：iglooWithFridges&lt;br /&gt;
*snappyHexMesh：motorBike&lt;br /&gt;
*snappyHexMesh：snappyMultiRegionHeater&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multiphase(多相流)===&lt;br /&gt;
*bubbleFoam：&lt;br /&gt;
*[[cavitatingFoam：フラッシング解析(ras)]]&lt;br /&gt;
*[[cavitatingFoam:フラッシング解析(2D-LES)]]&lt;br /&gt;
*[[cavitatingFoam:フラッシング解析(3D-LES)]]&lt;br /&gt;
*[[compressibleInterFoam：水中爆雷2D]]&lt;br /&gt;
*compressibleInterFoam:水中爆雷3D&lt;br /&gt;
*compressibletwoPhaseEulerFoam:&lt;br /&gt;
*[[interDyMFoam：撹拌槽内の流れ]]&lt;br /&gt;
*interDyMFoam:二次元スロッシングタンク&lt;br /&gt;
*interDyMFoam:三次元スロッシングタンク&lt;br /&gt;
*[[interFoam：ダム（水柱）の決壊]]&lt;br /&gt;
*[[interFoam：毛細管現象]]&lt;br /&gt;
*[[interFoam:ノズル噴流2D]]&lt;br /&gt;
*[[interFoam:水路]]&lt;br /&gt;
*[[interFoam:越流堰]]&lt;br /&gt;
*[[interFoam:傾斜ダクトの下面から注入した水が上面から溢れ出る挙動]]&lt;br /&gt;
*interMixingFoam：&lt;br /&gt;
*[[interPhaseChangeFoam：弾丸周りのキャビテーション流れ]]&lt;br /&gt;
*[[interPhaseChangeDyMFoam：プロペラのキャビテーション解析]]&lt;br /&gt;
*LTSInterFoam：&lt;br /&gt;
*[[MRFInterFoam：回転撹拌槽の二相流]]&lt;br /&gt;
*[[MRFMultiphaseInterFoam：多相ダム（水柱）の決壊]]&lt;br /&gt;
*[[multiphaseInterFoam:2D回転撹拌槽の混相流]]&lt;br /&gt;
*[[multiphaseEulerFoam:2D回転撹拌槽の混相流]]&lt;br /&gt;
*multiphaseInterFoam：&lt;br /&gt;
*[[potentialFreeSurfaceDyMFoam:浮子の振動で生じる表面のさざ波]]&lt;br /&gt;
*settlingFoam：&lt;br /&gt;
*twoPhaseEulerFoam：fluidized bed&lt;br /&gt;
*twoPhaseEulerFoam:fluidized bed2&lt;br /&gt;
*[[twoPhaseEulerFoam:気泡塔]]&lt;br /&gt;
*twoPhaseEulerFoam:回転撹拌槽&lt;br /&gt;
*[[twoPhaseEulerFoam:液中への気体注入]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===StressAnalysis(固体応力解析)===&lt;br /&gt;
*[[solidDisplacementFoam：円孔板の応力解析]]&lt;br /&gt;
*[[solidEquilibriumDisplacementFoam：はりの曲げ解析]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ext版tutorials==&lt;br /&gt;
===coupled(領域の連成)===&lt;br /&gt;
*conjugateHeatFoam : conjugateCavity&lt;br /&gt;
*blockCoupledScalarTransportFoam : blockCoupledSwirlTest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===surfaceTracking(界面追跡法)===&lt;br /&gt;
*[[surfactantFoam : sphereTransport]]&lt;br /&gt;
*[[interTrackFoam : tank3D 3次元タンク内液面変化]]&lt;br /&gt;
*[[interTrackFoam : sloshing2D ２次元スロッシング]]&lt;br /&gt;
*[[interTrackFoam : ramp 傾斜がある場所での自由表面流れ]]&lt;br /&gt;
*[[interTrackFoam : hydrofoil 翼近くの自由表面変形問題]]&lt;br /&gt;
*[[bubbleInterTrackFoam : bubble2D_r0.75mm : 気泡の変形]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===viscoelastic(粘弾性流体)===&lt;br /&gt;
*viscoelasticFluidFoam : XPP_SE&lt;br /&gt;
*viscoelasticFluidFoam : XPP_DE&lt;br /&gt;
*viscoelasticFluidFoam : whiteMetzer&lt;br /&gt;
*viscoelasticFluidFoam : S-MDCPP&lt;br /&gt;
*viscoelasticFluidFoam : PPT-Linear&lt;br /&gt;
*viscoelasticFluidFoam : PPT-Exponential&lt;br /&gt;
*viscoelasticFluidFoam : Oldroyd-B&lt;br /&gt;
*viscoelasticFluidFoam : Lenov&lt;br /&gt;
*viscoelasticFluidFoam : Giesekus&lt;br /&gt;
*viscoelasticFluidFoam : Feta-PTT&lt;br /&gt;
*viscoelasticFluidFoam : DCPP&lt;br /&gt;
*viscoelasticFluidFoam : FENE-P&lt;br /&gt;
*viscoelasticFluidFoam : FENE-CR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[cfMesh(メッシュ)]]===&lt;br /&gt;
*cartesian2DMesh：hatOctree&lt;br /&gt;
*cartesianMesh：asmoOctree&lt;br /&gt;
*cartesianMesh：bunnyOctree&lt;br /&gt;
*cartesianMesh：elbow_90degree&lt;br /&gt;
*cartesianMesh：intakePortOctree&lt;br /&gt;
*cartesianMesh：multipleOrifices&lt;br /&gt;
*cartesianMesh：sBendOctree&lt;br /&gt;
*cartesianMesh：sawOctree&lt;br /&gt;
*cartesianMesh：ship5415Octree&lt;br /&gt;
*cartesianMesh：singleOrifice&lt;br /&gt;
*pMesh：bunnyPoly&lt;br /&gt;
*pMesh：multipleOrifices&lt;br /&gt;
*tetMesh：cutCubeOctree&lt;br /&gt;
*tetMesh：socketOctree&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=856</id>
		<title>メインページ</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=856"/>
		<updated>2024-10-05T08:00:38Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: /* その他 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;オープンCAEWikiにようこそ！&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
本wikiはオープンソースCAEソフトウェアについての情報まとめています。&lt;br /&gt;
クローズドなwikiではありません。&lt;br /&gt;
ご編集されたい方はアカウントをご登録ください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
なお、内容はオープンCAEに関連するものでお願いします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== オープンCAEの前提知識 ===&lt;br /&gt;
&lt;br /&gt;
[[Linux]]&lt;br /&gt;
&lt;br /&gt;
[[解析用語]]&lt;br /&gt;
&lt;br /&gt;
=== CAD ===&lt;br /&gt;
[[FreeCAD]]&lt;br /&gt;
&lt;br /&gt;
=== メッシャー ===&lt;br /&gt;
[[Netgen]]&lt;br /&gt;
&lt;br /&gt;
[[Gmsh]]&lt;br /&gt;
&lt;br /&gt;
=== 流体 ===&lt;br /&gt;
[[OpenFOAM]]&lt;br /&gt;
&lt;br /&gt;
[[SU2]]&lt;br /&gt;
&lt;br /&gt;
=== 構造 ===&lt;br /&gt;
[[FrontISTR]]&lt;br /&gt;
&lt;br /&gt;
[[Salome-Meca]]&lt;br /&gt;
&lt;br /&gt;
[[CalculiX]]&lt;br /&gt;
&lt;br /&gt;
[[PrePoMax]]&lt;br /&gt;
&lt;br /&gt;
[[StressRefine]]&lt;br /&gt;
&lt;br /&gt;
[[FEBio]]&lt;br /&gt;
&lt;br /&gt;
[[PlantFEM]]&lt;br /&gt;
&lt;br /&gt;
[[OpenRadioss]]&lt;br /&gt;
&lt;br /&gt;
=== MBD(モデルベースデザイン) ===&lt;br /&gt;
[[OpenModelica]]&lt;br /&gt;
&lt;br /&gt;
=== 機構解析 ===&lt;br /&gt;
&lt;br /&gt;
[[MBDyn]]&lt;br /&gt;
&lt;br /&gt;
[[EXUDYN]]&lt;br /&gt;
&lt;br /&gt;
=== 有限要素法ライブラリ・ツールセット ===&lt;br /&gt;
&lt;br /&gt;
[[GetFEM]]&lt;br /&gt;
&lt;br /&gt;
[[DelFEM2]]&lt;br /&gt;
&lt;br /&gt;
[[sparselizard]]&lt;br /&gt;
&lt;br /&gt;
[[ivyFEM]]&lt;br /&gt;
&lt;br /&gt;
=== マルチフィジックス ===&lt;br /&gt;
[[Elmer]]&lt;br /&gt;
&lt;br /&gt;
=== 粒子法 ===&lt;br /&gt;
[[DualSPHygics]]&lt;br /&gt;
&lt;br /&gt;
[[OpenMPS]]&lt;br /&gt;
&lt;br /&gt;
=== 格子ボルツマン法 ===&lt;br /&gt;
[[Palabos]]&lt;br /&gt;
&lt;br /&gt;
[[waLBerla]]&lt;br /&gt;
&lt;br /&gt;
=== 偏微分方程式ソルバ ===&lt;br /&gt;
&lt;br /&gt;
[[FEniCSx]]&lt;br /&gt;
&lt;br /&gt;
=== 可視化 ===&lt;br /&gt;
[[Paraview]]&lt;br /&gt;
&lt;br /&gt;
[[PyVista]]&lt;br /&gt;
&lt;br /&gt;
[[Mayavi]]&lt;br /&gt;
&lt;br /&gt;
=== 最適化 ===&lt;br /&gt;
[[OpenMDAO]]&lt;br /&gt;
&lt;br /&gt;
[[OpenDA]]&lt;br /&gt;
&lt;br /&gt;
[[Dakota]]&lt;br /&gt;
&lt;br /&gt;
=== クラウド ===&lt;br /&gt;
&lt;br /&gt;
[[SimScale]]&lt;br /&gt;
&lt;br /&gt;
=== ベンチマーク ===&lt;br /&gt;
[https://www.cenav.org/ 計算工学ナビ]&lt;br /&gt;
&lt;br /&gt;
[https://feaber.readthedocs.io/ja/latest/ FEABeR]&lt;br /&gt;
&lt;br /&gt;
=== プログラミング ===&lt;br /&gt;
[[Python]]&lt;br /&gt;
&lt;br /&gt;
[[C++]]&lt;br /&gt;
&lt;br /&gt;
=== その他 ===&lt;br /&gt;
&lt;br /&gt;
[[物性データベース]]&lt;br /&gt;
&lt;br /&gt;
[[Blender]]&lt;br /&gt;
&lt;br /&gt;
[[Maxima]]&lt;br /&gt;
&lt;br /&gt;
[[REDUCE]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2023/opencae オープンCAE Advent Calendar 2023]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2022/opencae オープンCAE Advent Calendar 2022]&lt;br /&gt;
&lt;br /&gt;
[https://adventar.org/calendars/6423 オープンCAE Advent Calendar 2021]&lt;br /&gt;
&lt;br /&gt;
[https://adventar.org/calendars/5192 オープンCAE Advent Calendar 2020]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2019/opencae-ac2019 オープンCAE Advent Calendar 2019]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2018/opencae-ac2018 オープンCAE Advent Calendar 2018]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2017/openfoam OpenFOAM Advent Calendar 2017]&lt;br /&gt;
&lt;br /&gt;
=== オープンCAE ===&lt;br /&gt;
[[オープンCAEの系譜]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/channel/UCuffpM6BjZWZ4AEDFiQexEg オープンCAE動画チャンネル]&lt;br /&gt;
&lt;br /&gt;
[[各地の勉強会]]&lt;br /&gt;
&lt;br /&gt;
[[勝手にブックレビュー]]&lt;br /&gt;
&lt;br /&gt;
[[オープンCAE名言集]]&lt;br /&gt;
&lt;br /&gt;
=== Wikiについて ===&lt;br /&gt;
&lt;br /&gt;
本wikiはオープンCAE学会が管理しています。&lt;br /&gt;
オープンCAE学会については[http://www.opencae.or.jp 公式サイト]を参照してください。&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=PyVista&amp;diff=855</id>
		<title>PyVista</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=PyVista&amp;diff=855"/>
		<updated>2024-10-05T07:27:02Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: ページの作成:「公式ページよりの説明&amp;lt;blockquote&amp;gt;Visualization Toolkit (VTK) の合理化されたインタフェースによる3 Dプロットおよびメッシュ解析&amp;lt;/blockquote&amp;gt;[https://docs.pyvista.org/ 公式ページ]  [https://pyvista.github.io/pyvista-docs-dev-ja/index.html 日本語ページ]」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;公式ページよりの説明&amp;lt;blockquote&amp;gt;Visualization Toolkit (VTK) の合理化されたインタフェースによる3 Dプロットおよびメッシュ解析&amp;lt;/blockquote&amp;gt;[https://docs.pyvista.org/ 公式ページ]&lt;br /&gt;
&lt;br /&gt;
[https://pyvista.github.io/pyvista-docs-dev-ja/index.html 日本語ページ]&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=854</id>
		<title>メインページ</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=854"/>
		<updated>2024-10-05T07:24:34Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: /* 可視化 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;オープンCAEWikiにようこそ！&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
本wikiはオープンソースCAEソフトウェアについての情報まとめています。&lt;br /&gt;
クローズドなwikiではありません。&lt;br /&gt;
ご編集されたい方はアカウントをご登録ください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
なお、内容はオープンCAEに関連するものでお願いします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== オープンCAEの前提知識 ===&lt;br /&gt;
&lt;br /&gt;
[[Linux]]&lt;br /&gt;
&lt;br /&gt;
[[解析用語]]&lt;br /&gt;
&lt;br /&gt;
=== CAD ===&lt;br /&gt;
[[FreeCAD]]&lt;br /&gt;
&lt;br /&gt;
=== メッシャー ===&lt;br /&gt;
[[Netgen]]&lt;br /&gt;
&lt;br /&gt;
[[Gmsh]]&lt;br /&gt;
&lt;br /&gt;
=== 流体 ===&lt;br /&gt;
[[OpenFOAM]]&lt;br /&gt;
&lt;br /&gt;
[[SU2]]&lt;br /&gt;
&lt;br /&gt;
=== 構造 ===&lt;br /&gt;
[[FrontISTR]]&lt;br /&gt;
&lt;br /&gt;
[[Salome-Meca]]&lt;br /&gt;
&lt;br /&gt;
[[CalculiX]]&lt;br /&gt;
&lt;br /&gt;
[[PrePoMax]]&lt;br /&gt;
&lt;br /&gt;
[[StressRefine]]&lt;br /&gt;
&lt;br /&gt;
[[FEBio]]&lt;br /&gt;
&lt;br /&gt;
[[PlantFEM]]&lt;br /&gt;
&lt;br /&gt;
[[OpenRadioss]]&lt;br /&gt;
&lt;br /&gt;
=== MBD(モデルベースデザイン) ===&lt;br /&gt;
[[OpenModelica]]&lt;br /&gt;
&lt;br /&gt;
=== 機構解析 ===&lt;br /&gt;
&lt;br /&gt;
[[MBDyn]]&lt;br /&gt;
&lt;br /&gt;
[[EXUDYN]]&lt;br /&gt;
&lt;br /&gt;
=== 有限要素法ライブラリ・ツールセット ===&lt;br /&gt;
&lt;br /&gt;
[[GetFEM]]&lt;br /&gt;
&lt;br /&gt;
[[DelFEM2]]&lt;br /&gt;
&lt;br /&gt;
[[sparselizard]]&lt;br /&gt;
&lt;br /&gt;
[[ivyFEM]]&lt;br /&gt;
&lt;br /&gt;
=== マルチフィジックス ===&lt;br /&gt;
[[Elmer]]&lt;br /&gt;
&lt;br /&gt;
=== 粒子法 ===&lt;br /&gt;
[[DualSPHygics]]&lt;br /&gt;
&lt;br /&gt;
[[OpenMPS]]&lt;br /&gt;
&lt;br /&gt;
=== 格子ボルツマン法 ===&lt;br /&gt;
[[Palabos]]&lt;br /&gt;
&lt;br /&gt;
[[waLBerla]]&lt;br /&gt;
&lt;br /&gt;
=== 偏微分方程式ソルバ ===&lt;br /&gt;
&lt;br /&gt;
[[FEniCSx]]&lt;br /&gt;
&lt;br /&gt;
=== 可視化 ===&lt;br /&gt;
[[Paraview]]&lt;br /&gt;
&lt;br /&gt;
[[PyVista]]&lt;br /&gt;
&lt;br /&gt;
[[Mayavi]]&lt;br /&gt;
&lt;br /&gt;
=== 最適化 ===&lt;br /&gt;
[[OpenMDAO]]&lt;br /&gt;
&lt;br /&gt;
[[OpenDA]]&lt;br /&gt;
&lt;br /&gt;
[[Dakota]]&lt;br /&gt;
&lt;br /&gt;
=== クラウド ===&lt;br /&gt;
&lt;br /&gt;
[[SimScale]]&lt;br /&gt;
&lt;br /&gt;
=== ベンチマーク ===&lt;br /&gt;
[https://www.cenav.org/ 計算工学ナビ]&lt;br /&gt;
&lt;br /&gt;
[https://feaber.readthedocs.io/ja/latest/ FEABeR]&lt;br /&gt;
&lt;br /&gt;
=== プログラミング ===&lt;br /&gt;
[[Python]]&lt;br /&gt;
&lt;br /&gt;
[[C++]]&lt;br /&gt;
&lt;br /&gt;
=== その他 ===&lt;br /&gt;
&lt;br /&gt;
[[物性データベース]]&lt;br /&gt;
&lt;br /&gt;
[[Blender]]&lt;br /&gt;
&lt;br /&gt;
[[Maxima]]&lt;br /&gt;
&lt;br /&gt;
[[REDUCE]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2022/opencae オープンCAE Advent Calendar 2022]&lt;br /&gt;
&lt;br /&gt;
[https://adventar.org/calendars/6423 オープンCAE Advent Calendar 2021]&lt;br /&gt;
&lt;br /&gt;
[https://adventar.org/calendars/5192 オープンCAE Advent Calendar 2020]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2019/opencae-ac2019 オープンCAE Advent Calendar 2019]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2018/opencae-ac2018 オープンCAE Advent Calendar 2018]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2017/openfoam OpenFOAM Advent Calendar 2017]&lt;br /&gt;
&lt;br /&gt;
=== オープンCAE ===&lt;br /&gt;
[[オープンCAEの系譜]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/channel/UCuffpM6BjZWZ4AEDFiQexEg オープンCAE動画チャンネル]&lt;br /&gt;
&lt;br /&gt;
[[各地の勉強会]]&lt;br /&gt;
&lt;br /&gt;
[[勝手にブックレビュー]]&lt;br /&gt;
&lt;br /&gt;
[[オープンCAE名言集]]&lt;br /&gt;
&lt;br /&gt;
=== Wikiについて ===&lt;br /&gt;
&lt;br /&gt;
本wikiはオープンCAE学会が管理しています。&lt;br /&gt;
オープンCAE学会については[http://www.opencae.or.jp 公式サイト]を参照してください。&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=PrePoMax%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=853</id>
		<title>PrePoMaxリリースノート</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=PrePoMax%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=853"/>
		<updated>2024-09-08T10:50:07Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: ページの作成:「[https://prepomax.discourse.group/c/news/9 Newsページ]からの転記  == v2.1.7 ==  * .dat ファイルリーダーの改善 * BC および荷重の作成中に選択された座標系がハイライト表示されるようになりました。 * 履歴（再生成用）が更新され、解析コマンドと後処理コマンドが含まれるようになりました。再生成はモデルコマンドのみ（解析コマンドと後処理コマンドは再生…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://prepomax.discourse.group/c/news/9 Newsページ]からの転記&lt;br /&gt;
&lt;br /&gt;
== v2.1.7 ==&lt;br /&gt;
&lt;br /&gt;
* .dat ファイルリーダーの改善&lt;br /&gt;
* BC および荷重の作成中に選択された座標系がハイライト表示されるようになりました。&lt;br /&gt;
* 履歴（再生成用）が更新され、解析コマンドと後処理コマンドが含まれるようになりました。再生成はモデルコマンドのみ（解析コマンドと後処理コマンドは再生成されません）またはすべてのコマンドに対して実行できるようになりました。&lt;br /&gt;
* コマンドラインパラメータのサポートが改善されました&lt;br /&gt;
* PrePoMaxCmd.exe という追加の .exe ファイルが追加されました。これは PrePoMax をコマンドライン アプリケーションとして起動します。&lt;br /&gt;
* PrePoMax 実行ファイルは両方ともコマンドラインパラメータで使用できますが、バッチモードで PrePoMax を実行するには PrePoMaxCmd.exe を使用する必要があります。&lt;br /&gt;
* バグ修正&lt;br /&gt;
&lt;br /&gt;
== v2.1.6 ==&lt;br /&gt;
&lt;br /&gt;
* 座標系更新のバグ修正&lt;br /&gt;
&lt;br /&gt;
== v2.1.5 ==&lt;br /&gt;
&lt;br /&gt;
* バグ修正&lt;br /&gt;
&lt;br /&gt;
== v2.1.4 ==&lt;br /&gt;
&lt;br /&gt;
* .dat ファイルのバックリング リーダーのサポートを追加しました&lt;br /&gt;
* バージョン 2.1.3 開発版からの選択バグ修正&lt;br /&gt;
&lt;br /&gt;
== v2.1.3 ==&lt;br /&gt;
&lt;br /&gt;
* 履歴出力のエクスポートのサポートを追加しました (結果 → 履歴出力 → エクスポート)&lt;br /&gt;
* ジオメトリIDによる選択のサポートを追加しました&lt;br /&gt;
* ジオメトリ選択に基づく参照ポイント作成のサポートを追加しました&lt;br /&gt;
* ジオメトリ選択に基づく座標系作成のサポートを追加しました&lt;br /&gt;
* 座標系のバグ修正&lt;br /&gt;
&lt;br /&gt;
== v2.1.2 ==&lt;br /&gt;
&lt;br /&gt;
* 式で定義されたフィールド出力の作成のサポートを追加しました (結果 → フィールド出力 → 作成)&lt;br /&gt;
* 式で定義された履歴出力の作成のサポートを追加しました (結果 → 履歴出力 → 作成)&lt;br /&gt;
* ユーザーが作成した履歴出力のフィルターのサポートを追加しました。使用可能なフィルターは、最小、最大、合計、平均です。&lt;br /&gt;
* 座標系のバグ修正&lt;br /&gt;
&lt;br /&gt;
== v2.1.1 ==&lt;br /&gt;
&lt;br /&gt;
* FE モデル ビューでの座標系の作成のサポートを追加しました (長方形、円筒形)&lt;br /&gt;
* 結果ビューでの座標系の作成のサポートを追加しました（長方形、円筒形）&lt;br /&gt;
* 結果ビューでの参照ポイントの作成のサポートを追加しました&lt;br /&gt;
* 境界条件の作成時に座標系を使用するためのサポートを追加しました&lt;br /&gt;
* 集中荷重の作成時に座標系を使用するためのサポートを追加しました&lt;br /&gt;
* 表面牽引荷重の作成時に座標系を使用するためのサポートを追加しました&lt;br /&gt;
* フィールド出力を別の座標系に変換するサポートを追加しました (結果 → フィールド出力 → 作成)&lt;br /&gt;
* バグ修正&lt;br /&gt;
&lt;br /&gt;
== v2.1.0 ==&lt;br /&gt;
&lt;br /&gt;
* 質量セクションのサポートを追加: 点質量と分散質量&lt;br /&gt;
* シェルメッシュを厚くする機能を追加&lt;br /&gt;
* 選択したサーフェスでソリッドメッシュを分割する機能を追加しました&lt;br /&gt;
* .stl ジオメトリ モデルの面を削除する機能を追加しました&lt;br /&gt;
* Gmsh メッシャー使用時のメッシュ最適化のサポートを追加しました&lt;br /&gt;
* ピラミッド要素のサポートを追加&lt;br /&gt;
* 新しい色の凡例を追加しました&lt;br /&gt;
* .pmxファイルの構造を変更し、より大きなファイルの作成を可能にしました。&lt;br /&gt;
* ステップコントロールのサポートを追加&lt;br /&gt;
* 圧縮のみのサポートにより、非線形ソリューションを有効化できるようになりました。&lt;br /&gt;
* Gmsh がバージョン 4.13 に更新されました&lt;br /&gt;
&lt;br /&gt;
* シンプルな履歴ビューアとエディタを追加&lt;br /&gt;
* キーワードエディタはパフォーマンスを改善するために作り直されました&lt;br /&gt;
* バグ修正&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=PrePoMax&amp;diff=852</id>
		<title>PrePoMax</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=PrePoMax&amp;diff=852"/>
		<updated>2024-09-08T10:45:56Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;このページではオープンソース構造解析ソフト「PrePoMax」についてまとめていきます。&lt;br /&gt;
&lt;br /&gt;
[https://prepomax.fs.um.si/ 公式サイト]&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
公式のバイナリーはWindowsのみです。&amp;lt;/br&amp;gt;&lt;br /&gt;
公式サイトに行って「Downloads」を左クリックしてください。Zipファイルをダウンロードして解凍してください。新しくできるフォルダーは移動しても構いません。そのフォルダーの中にあるPrePoMax.exeというファイルを左ダブルクリックすると起動します。&amp;lt;/br&amp;gt;&lt;br /&gt;
PrePoMax.exeというファイルのショートカットをデスクトップに作ると便利だと思います。&lt;br /&gt;
&lt;br /&gt;
== リリースノート ==&lt;br /&gt;
[[PrePoMaxリリースノート]]&lt;br /&gt;
&lt;br /&gt;
== 公式動画チュートリアル(英語) ==&lt;br /&gt;
公式サイトの「Documentation」からも行けますが、ここにURLを記載します。&amp;lt;/br&amp;gt;&lt;br /&gt;
[https://www.youtube.com/@MatejBorovinsek Matej Borovinšek YouTube Cannnel]&amp;lt;/br&amp;gt;&lt;br /&gt;
[https://www.youtube.com/@feanalyst4302 FEAnalyst YouTube Channel]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 応力解析 ==&lt;br /&gt;
[https://qiita.com/Jun_Tatsuno/items/f59d916b98e823341882 PrePoMaxを用いた部品を連結したAssyの応力解析]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/Sagittarius_Chiron/items/fd806361ceca4864bc79 PrePoMax使用法解説]&lt;br /&gt;
&lt;br /&gt;
== 固有値解析 ==&lt;br /&gt;
[https://qiita.com/Jun_Tatsuno/items/f2bb87eaf3f594b52038 PrePoMaxを用いたモーダル解析]&lt;br /&gt;
&lt;br /&gt;
== 日本語ドキュメント（有志） ==&lt;br /&gt;
[https://speakerdeck.com/juntatsuno/prepomax-v1-dot-1-1-maniyuaru PrePoMax v1.1.1 マニュアル]&lt;br /&gt;
&lt;br /&gt;
== 関連書籍 ==&lt;br /&gt;
[https://www.amazon.co.jp/%E3%80%8CPrePoMax%E3%80%8D%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E5%AE%9F%E8%B7%B5%E6%A7%8B%E9%80%A0%E8%A7%A3%E6%9E%90-%E6%94%B9%E8%A8%82%E7%89%88-OBOOKS-%E6%9F%B4%E7%94%B0-%E8%89%AF%E4%B8%80/dp/4777522156/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;crid=20HSEZ031ITSU&amp;amp;keywords=PrePoMax&amp;amp;qid=1680697869&amp;amp;s=books&amp;amp;sprefix=prepomax%2Cstripbooks%2C184&amp;amp;sr=1-1 &amp;lt;nowiki&amp;gt;「PrePoMax」ではじめる実践構造解析 [改訂版]&amp;lt;/nowiki&amp;gt;]&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2312%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=851</id>
		<title>OpenFOAM v2312リリースノート</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2312%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=851"/>
		<updated>2023-12-24T08:21:50Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenCFDは、2023年12月リリースのOpenFOAM® v2312を発表いたします。このリリースは、コードの多くの領域にわたってOpenFOAM-v2306の機能を拡張しています。この新機能は、OpenCFDの顧客からのスポンサーによる開発、内部資金による開発、OpenFOAMコミュニティからの機能や変更の統合を表しています。&lt;br /&gt;
&lt;br /&gt;
OpenFOAMはOpenCFDによってGPLライセンスの下で配布されています。様々なLinuxや他のPOSIXシステムでのコンパイルに適したソースコードパッケージに加え、このリリースにはコンパイル済みのバイナリパッケージも多数あります。&lt;br /&gt;
&lt;br /&gt;
Ubuntu Linux: Ubuntu 22.04(LTS)、20.04(LTS)、18.04(LTS)、23.04、22.10 用パッケージインストール&lt;br /&gt;
&lt;br /&gt;
openSUSE Linux: Leap 15.5 用パッケージインストール&lt;br /&gt;
&lt;br /&gt;
Redhat Linuxの亜種: epel 9用のパッケージインストール; Fedora 37&lt;br /&gt;
&lt;br /&gt;
Windowsユーザーには、コンパイル済みパッケージについて3つの選択肢があります（詳細）：&lt;br /&gt;
&lt;br /&gt;
Windows Subsystem for Linux（Ubuntu、openSUSEなどベース）を使用する。&lt;br /&gt;
&lt;br /&gt;
クロスコンパイルによるネイティブ実行ファイル&lt;br /&gt;
&lt;br /&gt;
docker インストール&lt;br /&gt;
&lt;br /&gt;
OpenFOAMのapptainerサポートは、事前にアセンブルされたイメージではなく、記述ファイルによって提供されます：&lt;br /&gt;
&lt;br /&gt;
パッケージング/コンテナ参照&lt;br /&gt;
&lt;br /&gt;
Mac OSXユーザーは、ソースからコンパイルするか、Dockerコンテナを使ってコンパイル済みのパッケージを使用するオプションがあります（詳細）。&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
=== v2312ユーザーアップグレードガイド ===&lt;br /&gt;
&lt;br /&gt;
=== 挙動の変化 ===&lt;br /&gt;
&lt;br /&gt;
==== デフォルトのEnSightフォーマット ====&lt;br /&gt;
&lt;br /&gt;
* 関数オブジェクトとライターが使用するデフォルトの ensight 出力が、シミュレー ション controlDict で指定される \c writeFormat に依存するのではなく、より一貫して ˶c binary format を使用するようになりました。この変更により、foamToEnsight などのユーティリティや、他のファンクション・ オブジェクトやライターとの動作がより一貫したものになります。&lt;br /&gt;
&lt;br /&gt;
==== Function object: &amp;lt;code&amp;gt;Lambda2&amp;lt;/code&amp;gt; ====&lt;br /&gt;
Lambda2関数オブジェクトの出力が、支配方程式の変更、特に符号の反転によって修正されました。その結果、Lambda2のv2312以前のバージョンで観測された負のフィールド値は、v2312リリースでは正のフィールド値になりました（逆も同様）。&lt;br /&gt;
&lt;br /&gt;
=== 名前変更 ===&lt;br /&gt;
&lt;br /&gt;
==== Function object: &amp;lt;code&amp;gt;WeberNumberReacting&amp;lt;/code&amp;gt; ====&lt;br /&gt;
ラグランジュ関数オブジェクトクラスWeberNumberReactingは、新しいラグランジュ雲関数オブジェクトKinematicWeberNumberとの整合性を確保するため、ReactingWeberNumberと改名された。&lt;br /&gt;
&lt;br /&gt;
=== v2312開発者アップグレードガイド ===&lt;br /&gt;
&lt;br /&gt;
=== 非推奨と削除 ===&lt;br /&gt;
&lt;br /&gt;
==== 削除された項目 ====&lt;br /&gt;
&lt;br /&gt;
* faMesh::operator()が削除され、代わりにmesh()またはthisDb()が使われるようになりました。&lt;br /&gt;
* typeGlobal() グローバル関数が is_globalIOobject&amp;lt;Type&amp;gt; traits 構造体に置き換えられました。IOobject::typeHeaderOk との一貫性を保つために、補助的な typeFilePath() グローバル関数が IOobject::typeFilePath のメンバとしてのグローバル関数に取って代わられました。&lt;br /&gt;
&lt;br /&gt;
=== 定義の変更 ===&lt;br /&gt;
&lt;br /&gt;
* ReadFieldsは、格納されたオブジェクトを処理するためのLIFOを実装するためにDynamicListを使用するようになりました。古いLIFOStackインターフェースは、より多くの割り当てとオーバーヘッドを必要とするため、非推奨とマークされています。&lt;br /&gt;
* いくつかの IOobjectList::sorted() const-access メソッドを非推奨とし、新しい csorted() メソッドを採用した。これにより、HashTableとのメソッド名の一貫性が保たれ、戻り値の型が明確になります。&lt;br /&gt;
* 内部辞書の区切り文字が'.'から'/'に変更され、（fileNameのような）内部処理が簡素化され、辞書名を明確なアドレッシングで使用できるようになった。この変更による副作用は、生の辞書名がコード内で直接解析された場合を除き、特に期待されません。&lt;br /&gt;
&lt;br /&gt;
=== 相続の変化 ===&lt;br /&gt;
fvMeshで使われていたデータクラスは、polyMeshレベルのメンバーデータに置き換えられました。開発者にとっては、これは以下の（壊れやすく醜い）コードが確実に壊れることを意味する！&lt;br /&gt;
 &amp;lt;code&amp;gt;obr.lookupObject&amp;lt;fvMesh&amp;gt;(&amp;quot;data&amp;quot;)   // This was never a good idea&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 移設されたメソッド ===&lt;br /&gt;
ListOps::identityをFoam::identityに昇格させる。int32とint64の両方のバージョンを処理します。&lt;br /&gt;
&lt;br /&gt;
=== コンテナの改良／変更 ===&lt;br /&gt;
多くのリリースがそうであるように、基礎となるOpenFOAMコンテナは、様々な方法でアップグレードされ、調整されている。いくつかの焦点は、より多くの場所でC++アルゴリズムを利用することによって、内部のコピー、充填、データ移動を近代化することです。一般的なコード削減とは別に、アルゴリズムへの移行は、将来的に異なる実行モデル（例えば、std::execution::parallel_unsequenced_policy）を提供するのに役立ちます。&lt;br /&gt;
&lt;br /&gt;
==== ハッシュテーブル構造体 ====&lt;br /&gt;
HashTableとHashSetのデフォルトのコンストラクタは、本当にゼロ・サイズのコンストラクタに対応するようになり（つまり、割り当てを必要としない）、noexceptでもある。これは、ハッシュセットのリストなどを管理するときに特に便利で役立ちます。移動コンストラクタも同様にnoexceptになった。&lt;br /&gt;
&lt;br /&gt;
* 未使用の HashTable(Istream&amp;amp;, label) コンストラクタが削除されました。&lt;br /&gt;
&lt;br /&gt;
==== HashTableのサイズ改良 ====&lt;br /&gt;
&lt;br /&gt;
* サイズ変更時に、未入力のHashTableをより早く削除する：テーブルが既にクリアされている（つまり、エントリがない）場合、新しいサイズのテーブルを再割り当てする前に、古い内部テーブルを即座に削除することができます。&lt;br /&gt;
* メソッド： std::unordered_mapに準じた命名と一般的な動作。resize()メソッドと似たような動作をしますが、容量ではなく要素数が渡されます。さらに、reserve()は、DynamicListやstd::vector、std::stringなどに似た振る舞いをするテーブルの容量を増やすだけです。&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
// old:&lt;br /&gt;
    labelHashSet set;&lt;br /&gt;
    set.resize(2*nElems);&lt;br /&gt;
&lt;br /&gt;
// now:&lt;br /&gt;
    labelHashSet set;&lt;br /&gt;
    set.reserve(nElems);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== リスト作成／割り当て ====&lt;br /&gt;
SLList（単一リンクリスト）からListまたはFixedListの構築または代入は削除されました。moveコンストラクトや代入はまだ残されていますが、次のバージョンまでにはその有用性が失われることが予想されます。&lt;br /&gt;
&lt;br /&gt;
==== リストの読み書き ====&lt;br /&gt;
入力サイズが既知でないリストを読み込む場合、これらのブラケット・リストは、単一リンク・リストを使用する代わりに、チャンク単位で読み込まれるようになった。積分型やベクトル空間型（スカラー、ベクトルなど）では、各要素に対する中間アロケーションを避けることができる。&lt;br /&gt;
&lt;br /&gt;
DynamicList::readList()メソッドが完全に実装され、List::readList()にリダイレクトされるようになりました。&lt;br /&gt;
&lt;br /&gt;
=== IOストリームの変化 ===&lt;br /&gt;
Ostreamの書き込みメソッド write(const string&amp;amp;) が write(const std::string&amp;amp;) に変更され、中間コピーなしでstd::stringを書き込めるようになった。これは、中間コピーなしで std::string を書き込むことを可能にする。しかし、これは Ostream から派生したクラスに調整が必要になることを意味する。&lt;br /&gt;
&lt;br /&gt;
Ostreamクラスはまた、将来のスパンとstring_viewのサポートに役立つ新しいwriteQuoted(const char* str, std::streamsize len, bool)メソッドを受け取った。&lt;br /&gt;
&lt;br /&gt;
==== メモリーストリームの更新と強化 ====&lt;br /&gt;
カバレッジを拡張して、すべての標準ストリームのバリアントを含むようにし、単純にOpenFOAM IOstreamタイプ用にリラップします。これにより、継承パターンが単純化され、icharstream/ocharstreamを他のラッパーでistringstream/ostringstreamのドロップイン置き換えとして再利用できるようになります。&lt;br /&gt;
&lt;br /&gt;
* Classes&lt;br /&gt;
** icharstream / ICharStream   [old: none / IListStream]&lt;br /&gt;
** ocharstream / OCharStream   [old: none / OListStream]&lt;br /&gt;
** ispanstream / ISpanStream   [old: uiliststream / UIListStream]&lt;br /&gt;
** ospanstream / OSpanStream   [old: none / UOListStream]&lt;br /&gt;
&lt;br /&gt;
ストリーム・バッファ・コンテンツのstd::string_view（c++17）またはspan view（古いc++）をサポート。これにより、フォーマットと再解析が簡単になります。&lt;br /&gt;
&lt;br /&gt;
=== 並列（MPI）処理の変更 ===&lt;br /&gt;
&lt;br /&gt;
==== 削除された機能 ====&lt;br /&gt;
実験的なフルNBX PstreamBuffersアルゴリズム（OpenFOAM-v2306で追加）は、ハイブリッドNBX/PEXアプローチと比較して利点が見られなかったため、削除されました。&lt;br /&gt;
&lt;br /&gt;
同様に、実験的な &amp;quot;ダブルノンブロッキング &amp;quot;NBXバージョンも削除された。このアイデアは、非常に大きなデータ転送のための受信のブロッキングを避けることであったが、それは通常、PstreamBuffersが可能にするようなNBX/PEXのハイブリッドアプローチでよりよく達成される。&lt;br /&gt;
&lt;br /&gt;
==== 新機能 ====&lt;br /&gt;
&lt;br /&gt;
===== broadcastList =====&lt;br /&gt;
新しいPstream::broadcastList()メソッドは、2段階のプロセスとして連続したコンテンツをブロードキャストする：&lt;br /&gt;
&lt;br /&gt;
# サイズをブロードキャストし、レシーバーリスト用にリサイズする。&lt;br /&gt;
# 連続した内容を放送する（空でない場合）&lt;br /&gt;
&lt;br /&gt;
これにより、シリアライズ／デシリアライズのメモリ・オーバーヘッドを回避できるが、ブロードキャスト・コールが追加される。サイズの余分なブロードキャストのトレードオフは、連続した大きなメッシュデータのメモリピークを避けることよりも重要ではないでしょう。&lt;br /&gt;
&lt;br /&gt;
===== mpiAllGather =====&lt;br /&gt;
mpiAllGather 関数が拡張され、char 型に限定されていたものが整数型と浮動小数点型も含むようになった。&lt;br /&gt;
&lt;br /&gt;
===== allToAllConsensus =====&lt;br /&gt;
Mapを受け取るallToAllConsensus関数は、Mapも返すようになり、使い方が単純化され、送信/再送信パラメータの曖昧さが回避された。このバージョンでは、Mapにゼロ値のデータが存在する場合、そのデータも送信されるようになった。&lt;br /&gt;
&lt;br /&gt;
===== PstreamBuffers =====&lt;br /&gt;
registered &amp;quot;センドをサポートし、減少した通信を適切に処理するだけでなく、投機的センドも処理できるようにした。これは、アルゴリズム内でプロセッサ-プロセッサ間の通信が発生する可能性があるが、センドがすべて必要になるかどうか事前にはわからない場合に発生する。この場合、センドは通常通り行われるが、登録されるのは「実際の」センドのみである。すべてのセンドが終了した後、実際にどの情報を（もしあれば）送信する必要があるかを判断することができる。&lt;br /&gt;
&lt;br /&gt;
例えば、&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
PstreamBuffers pBufs(UPstream::commsTypes::nonBlocking);&lt;br /&gt;
&lt;br /&gt;
pBufs.initRegisterSend();&lt;br /&gt;
&lt;br /&gt;
for (const polyPatch&amp;amp; pp : patches)&lt;br /&gt;
{&lt;br /&gt;
    const auto* ppp = isA&amp;lt;processorPolyPatch&amp;gt;(pp);&lt;br /&gt;
    if (ppp)&lt;br /&gt;
    {&lt;br /&gt;
        const label nbrProci = ppp-&amp;gt;neighbProcNo();&lt;br /&gt;
&lt;br /&gt;
        // Gather some patch information...&lt;br /&gt;
        UOPstream toNbr(nbrProci, pBufs);&lt;br /&gt;
        toNbr &amp;lt;&amp;lt; patchInfo;&lt;br /&gt;
&lt;br /&gt;
        // The send is needed if patchInfo is non-empty&lt;br /&gt;
        pBufs.registerSend(nbrProci, !patchInfo.empty());&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pBufs.finishedSends();&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
新しい PstreamBuffers::finishedSendsNBX() メソッドが追加され、デフォルトの設定パラメータに関係なく、all-to-all ではなくバッファサイズの NBX (ノンブロッキング転送) を指定できるようになった。&lt;br /&gt;
&lt;br /&gt;
=== MPI ネイティブの bitOrOp を拡張する ===&lt;br /&gt;
&lt;br /&gt;
* bitOrOpは複数の値も扱えるようになった。これは例えば、グローバルな状態を追跡するために使用できる：&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
// Encode as 0:empty, 1:uniform, 2:nonuniform, 3:mixed&lt;br /&gt;
PackedList&amp;lt;2&amp;gt; uniformity(fields.size());&lt;br /&gt;
&lt;br /&gt;
forAll(fields, i)&lt;br /&gt;
{&lt;br /&gt;
    uniformity.set(i, fields[i].whichUniformity());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
reduce&lt;br /&gt;
(&lt;br /&gt;
    uniformity.data(),&lt;br /&gt;
    uniformity.size_data(),&lt;br /&gt;
    bitOrOp&amp;lt;unsigned&amp;gt;()&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== MPIリクエスト処理の改善 ===&lt;br /&gt;
&lt;br /&gt;
* UPstream::waitSomeRequests()のスライス/レンジのサポートにより、受信のポーリングが簡素化され、送信から分離できるようになった。&lt;br /&gt;
* UPstream::removeRequests(pos、len) を使用して、未処理のリクエストをキャンセル／解放し、未処理のリクエストの内部リストからセグメントを削除する。&lt;br /&gt;
* mapDistribute でのリクエスト処理の改善&lt;br /&gt;
** 受信してから送信&lt;br /&gt;
** 自己送信の受信バッファへの直接コピー&lt;br /&gt;
** 送信/再送バッファのPtrListを使った不要な再割り当てを無効にする。&lt;br /&gt;
&lt;br /&gt;
=== グローバルインデックス ===&lt;br /&gt;
whichProcID() に代わる失敗しないメソッドとして、新しい findProc() メソッドを含む様々な改良。&lt;br /&gt;
&lt;br /&gt;
C++の最低規格は、2024年にC++11からC++17に引き上げられる予定である。&lt;br /&gt;
&lt;br /&gt;
== Pre-processing ==&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMesh：自動リークパスクロージャーから面を書き込む ===&lt;br /&gt;
snappyHexMeshにはメッシュ内の任意の位置とメッシュ外の位置の間のパスとして定義されたサーフェスのリークを自動的に閉じるオプションがあります。このリリースではリークを閉じるために使用された面はpostProcessingディレクトリのファイルに書き込まれます。&lt;br /&gt;
&lt;br /&gt;
下図は、ギャップのある球体（灰色）、スナップされたメッシュライン（青）、リークを閉じる面（赤）からなるテストケースを示しています：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ファイル書き込みフォーマットはsnappyHexMeshDictの新しいエントリーで選択できます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
//// Format for writing lines. E.g. leak path. Default is vtk format.&lt;br /&gt;
//setFormat ensight;&lt;br /&gt;
&lt;br /&gt;
//// Format to use for surfaces. E.g. leak-closure faces. Default is vtk format.&lt;br /&gt;
//surfaceFormat vtk;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/snappyHexMesh/sphere_gapClosure&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMesh：新しい複数の内側ポイント ===&lt;br /&gt;
snappyHexMeshのセルゾーンはinsidePointを指定することで作成できます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
refinementSurfaces&lt;br /&gt;
{&lt;br /&gt;
    ..&lt;br /&gt;
    cellZoneInside insidePoint;    // outside/insidePoint&lt;br /&gt;
    insidePoint    (1 1 1);        // if (cellZoneInside == insidePoint)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;1つのinsidePointではなく、複数のinsidePointが用意された：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cellZoneInside insidePoints;      // outside/insidePoint&lt;br /&gt;
insidePoints   ((1 1 1));         // if (cellZoneInside == insidePoint)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;下の図では、ジオメトリは2つのボックス（ワイヤーフレーム）で構成され、上のボックスは2つの切り離されたメッシュ領域をカバーしている。赤で示されたセルゾーンは、3つの別々のメッシュ領域を使用して作成されています。checkMeshユーティリティは、切断されたリージョンを表示するために使うことができます。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/snappyHexMesh/insidePoints&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/refinementSurfaces/surfaceZonesInfo.H&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMesh：並列メッシュの負荷分散 ===&lt;br /&gt;
snappyHexMeshは並列実行時に自動的にメッシュのバランスをとることができます。それは以下のどちらかになります&lt;br /&gt;
&lt;br /&gt;
* 変更が小さすぎる場合はバランスを取らない - maxLoadUnbalanceまたはmaxCellUnbalance設定を参照。&lt;br /&gt;
* maxLocalCells設定を参照してください。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、各ステップでメッシュのアンバランスがプリントされます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Layer mesh : cells:353749  faces:1108448  points:406303  unbalance:0.00110248&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;精製前のバランスは、セルの重みを与えることで実装されることに注意。各精製されるセルは8ずつカウントされる。しかし、これは単純な分解法、例えば階層的な分解法にのみ有効である。scotch と KaHip メソッドでは、カット数を含む重みを使ってアンバランスを最小化する。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* any parallel snappyHexMesh case&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C&lt;br /&gt;
&lt;br /&gt;
Related issues&lt;br /&gt;
&lt;br /&gt;
* Issue 3034&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMesh：レイヤーごとの追加 ===&lt;br /&gt;
OpenFOAM v2206リリースでは、snappyHexMeshが拡張され、nOuterIterエントリーを使用して複数パスでレイヤーを追加できるようになりました。ここでは、$FOAM_TUTORIALS/incompressible/pisoFoam/LES/motorBike/motorBikeチュートリアルを出発点として、どのように改良されたレイヤーの追加を実行できるかをデモしたいと思います：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
relativeSizes false; // true&lt;br /&gt;
&lt;br /&gt;
// Per final patch (so not geometry!) the layer information&lt;br /&gt;
layers&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;(lowerWall|motorBike).*&amp;quot;&lt;br /&gt;
    {&lt;br /&gt;
        nSurfaceLayers 16;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Expansion factor for layer mesh&lt;br /&gt;
expansionRatio 1.2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;重要な設定は、外側の反復回数とメッシュ・モーション・ソルバーである：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
// Overall max number of layer addition iterations&lt;br /&gt;
nLayerIter      25;&lt;br /&gt;
&lt;br /&gt;
// Add layers in multiple passes - gives layers a chance to rotate&lt;br /&gt;
nOuterIter      4;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
meshShrinker    displacementMotionSolver;&lt;br /&gt;
solver          displacementLaplacian;&lt;br /&gt;
displacementLaplacianCoeffs&lt;br /&gt;
{&lt;br /&gt;
    diffusivity quadratic inverseDistance (lowerWall upperWall &amp;quot;motorBike*&amp;quot;)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;メッシュの品質基準を緩めることで、（全体的なメッシュ品質は維持したまま）この複雑な形状でもレイヤーカバレッジを劇的に向上させることができる。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/snappyHexMesh/addLayersToFaceZone&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C&lt;br /&gt;
&lt;br /&gt;
=== Nastranサーフェスリーダーの改良 ===&lt;br /&gt;
NASTRANパーサーが更新され、PSHELL名の新しいANSA規約に対応しました。これにより、snappyHexMeshなど、より多くの場所でNASTRANファイルを直接使用することができるようになりました。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Issue 3009&lt;br /&gt;
&lt;br /&gt;
=== checkMeshユーティリティの改良 ===&lt;br /&gt;
checkMesh ユーティリティに writeChecks オプションが追加されました：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
checkMesh -writeChecks &amp;lt;format&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これにより、メッシュ・チェックのフォーマットを含むファイルが生成される：&lt;br /&gt;
&lt;br /&gt;
* dictionary : OpenFOAM dictionary;&lt;br /&gt;
* json : JSON format.&lt;br /&gt;
&lt;br /&gt;
例えば、コマンドを使う：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
checkMesh -allGeometry -allTopology -writeChecks JSON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;motorBikeチュートリアルでは、caseディレクトリにcheckMesh.jsonファイルが生成される：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;maxNonOrth&amp;quot; : 64.9999,&lt;br /&gt;
    &amp;quot;aveNonOrth&amp;quot; : 9.92427,&lt;br /&gt;
    &amp;quot;maxSkew&amp;quot; : 9.25719,&lt;br /&gt;
    &amp;quot;nWarnSkew&amp;quot; : 12,&lt;br /&gt;
    &amp;quot;minDeterminant&amp;quot; : 0,&lt;br /&gt;
    &amp;quot;aveDeterminant&amp;quot; : 1.55371,&lt;br /&gt;
    &amp;quot;thresholdDeterminant&amp;quot; : 0.001,&lt;br /&gt;
    &amp;quot;nErrorDeterminant&amp;quot; : 1274,&lt;br /&gt;
    &amp;quot;minFaceWeight&amp;quot; : 0.0216708,&lt;br /&gt;
    &amp;quot;aveFaceWeight&amp;quot; : 0.465687,&lt;br /&gt;
    &amp;quot;thresholdFaceWeight&amp;quot; : 0.05,&lt;br /&gt;
    &amp;quot;nErrorFaceWeight&amp;quot; : 1143,&lt;br /&gt;
    &amp;quot;minFaceVolumeRatio&amp;quot; : 0.0101126,&lt;br /&gt;
    &amp;quot;aveFaceVolumeRatio&amp;quot; : 0.846049&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_UTILITIES/mesh/manipulation/checkMesh/checkMesh.C&lt;br /&gt;
&lt;br /&gt;
=== subsetMeshユーティリティの改良 ===&lt;br /&gt;
subsetMesh ユーティリティが更新され、通常の -patches 選択を変更する -exclude-patches オプションを受け付けるようになりました。&lt;br /&gt;
&lt;br /&gt;
この変更により、最も近い露出パッチの指定が簡単になりました。&lt;br /&gt;
&lt;br /&gt;
== Numerics ==&lt;br /&gt;
&lt;br /&gt;
=== コミュニティへの貢献 随伴形状最適化の改善 ===&lt;br /&gt;
形状最適化のための感度微分を計算するためのE-SIとFI定式化間の整合性が改善されました。naca0012/laminar/moment/primalAdjointチュートリアルから取得した、変更前後のコード動作の例を以下に示します：&lt;br /&gt;
&lt;br /&gt;
一貫した点／面の感度マップ&lt;br /&gt;
&lt;br /&gt;
v2306とv2312で計算されたドラッグ感度マップを比較すると、a)新しいポイント-フェイス補間は、生の、つまり平滑化されていない感度でも、より滑らかな結果を生成する。&lt;br /&gt;
&lt;br /&gt;
さらなる改善点は以下の通り：&lt;br /&gt;
&lt;br /&gt;
* 不必要に新しいアドジョイントフィールドを割り当てることなく幾何学的制約を定義するための新しいアドジョイントソルバ（null）と目的関数（geometric）タイプ&lt;br /&gt;
&lt;br /&gt;
* 不等式制約のある最適化問題に取り組むための3つの新しい更新法（ISQP, nullSpace, MMA）&lt;br /&gt;
* 設計変数に境界を導入。ボリューメトリックBスプラインの場合、最適化を通してメッシュの品質をより良く保つことができます。&lt;br /&gt;
* 最適化ループの収束基準の導入。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/shapeOptimisation/naca0012/laminar/multipleConstraints&lt;br /&gt;
&lt;br /&gt;
Guide&lt;br /&gt;
&lt;br /&gt;
* The updated user guide for v2312 can be found here&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* Merge request MR!649&lt;br /&gt;
* Overhaul of the adjoint library to ease extension to flow physics other than incompressible flows - see Commit 9a89fcc0 for details;&lt;br /&gt;
* Corrections/improvements to shape optimisation - see Commit 9a89fcc0 for details.&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* The software was developed by PCOpt/NTUA and FOSS GP&lt;br /&gt;
* Integration in collaboration with OpenCFD&lt;br /&gt;
&lt;br /&gt;
=== コミュニティへの貢献 トポロジーに基づく新しいアジョイント最適化 ===&lt;br /&gt;
OpenFOAM v2312では、空隙率ベースまたはレベルセットアプローチによる新しいトポロジー最適化機能が追加されました。どちらも、設計されたジオメトリをSTLとしてエクスポートする機能を備えており、製造やボディフィットグリッドによる再評価に利用できます。&lt;br /&gt;
&lt;br /&gt;
空隙率ベースのアプローチは、計算領域の非生産的な部分を固めることでブロックする設計変数の場（人工空隙率α）に依存する。得られた解の平滑性を高めるために、正則化方程式を解いて中間場α̃を計算し、次にシャープニング/プロジェクションステップを経てほぼ二値の場βを計算します。後者は、固化した領域（すなわちβ≈1の領域）で流れ解をゼロにするソース項を流れ方程式に導入するために使用されます。上記のプロセスの手順を以下に示す。&lt;br /&gt;
&lt;br /&gt;
次の表は、同じケースの3つの異なるバリエーション、すなわち、Jpt＜Jpttarget制約（右）の下で、総圧力損失（Jpt）の最小化（左）、下部出口と右出口間の体積流量の均等配分制約（Jm）を伴うJptの最小化（中央）、および流れの均一性（Jun）の最大化（右）に対するトポロジー最適化の結果を示している。&lt;br /&gt;
&lt;br /&gt;
ケースは、adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/BPにあります。&lt;br /&gt;
&lt;br /&gt;
次の表は、同様の目的関数と制約関数を持つ3次元多様体のトポロジー最適化の結果を示しています。最初の行は、最適化サイクル中の計算領域の流体部分と固体部分の境界の進行を示し、最後の行は、最適化された3つの形状のSTLファイルを示しています。後者の生成プロセスは自動化されており、各最適化サイクルの終了時に実行されます。これらのSTLファイルは、適切な境界条件によるボディフィットシミュレーションや、その後の形状最適化、さらには製造に使用することができます。&lt;br /&gt;
&lt;br /&gt;
ケースはtopologyOptimisation/monoFluidAero/laminar/3DBoxにあります。&lt;br /&gt;
&lt;br /&gt;
==== 下位互換性 ====&lt;br /&gt;
optimisationDict.optimisationの項目が少し変わりました。この変更は、例えば、$FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/shapeOptimisation/motorBikeのoptimisationDictを以前のものと比較することで確認できます。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/topologyOptimisation&lt;br /&gt;
&lt;br /&gt;
Guide&lt;br /&gt;
&lt;br /&gt;
* The updated user guide for v2312 can be found here&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* Merge request MR!649&lt;br /&gt;
* Overhaul of the adjoint library to ease extension to flow physics other than incompressible flows - see Commit 9a89fcc0 for details;&lt;br /&gt;
* Corrections/improvements to shape optimisation - see Commit 9a89fcc0 for details.&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* The software was developed by PCOpt/NTUA and FOSS GP&lt;br /&gt;
* Integration in collaboration with OpenCFD&lt;br /&gt;
&lt;br /&gt;
== Solvers and physical models ==&lt;br /&gt;
&lt;br /&gt;
=== fvOptionsの改良：ポイントの移動 ===&lt;br /&gt;
有限体積オプション（fvOptions）フレームワークが改良されました：&lt;br /&gt;
&lt;br /&gt;
* 入力辞書の更新により、セル選択を実行時に更新できるようになりました。&lt;br /&gt;
* 空間内を移動する点をモデル化する新しい方法。&lt;br /&gt;
&lt;br /&gt;
最小限の使用例は以下の通り：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
fvOption1&lt;br /&gt;
{&lt;br /&gt;
    // Optional entries&lt;br /&gt;
    updateSelection         true;&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
fvOption2&lt;br /&gt;
{&lt;br /&gt;
    // Mandatory entries&lt;br /&gt;
    selectionMode   movingPoints;&lt;br /&gt;
&lt;br /&gt;
    movingPoints&lt;br /&gt;
    {&lt;br /&gt;
        point1        table&lt;br /&gt;
        (&lt;br /&gt;
            // time    position&lt;br /&gt;
            (  0 (0 0 0.75))&lt;br /&gt;
            (  1 (0 0 0.65))&lt;br /&gt;
            (  2 (0 0 0.55))&lt;br /&gt;
            (  3 (0 0 0.45))&lt;br /&gt;
            (  4 (0 0 0.35))&lt;br /&gt;
            (  5 (0 0 0.25))&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        point2        (-0.25 -0.25 0.5);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/fvOptions/cellSetOption/cellSetOption.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 630&lt;br /&gt;
&lt;br /&gt;
=== 新しい fvOption: マップされたフィールド制約 ===&lt;br /&gt;
MapFieldConstraintは、外部メッシュからのソース・フィールドを使用して、&amp;lt;Type&amp;gt;型の指定フィールドに値の制約を課します。ここで、&amp;lt;Type&amp;gt;には{scalar, vector, sphericalTensor, symmTensor, tensor}を指定できます。オプションとして、ソースフィールドは時間経過とともに平行移動または回転させることができます。&lt;br /&gt;
&lt;br /&gt;
考えられる用途は、例えば、移動する電気源の影響をモデル化することである。最小限の使用例を以下に示す：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
MapFieldConstraint1&lt;br /&gt;
{&lt;br /&gt;
    // Mandatory entries&lt;br /&gt;
    type                MapFieldConstraint;&lt;br /&gt;
    field               &amp;lt;word&amp;gt;;&lt;br /&gt;
    srcMesh             &amp;lt;fileName&amp;gt;;&lt;br /&gt;
    mapMethod           &amp;lt;word&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    // Optional entries&lt;br /&gt;
    consistent          &amp;lt;bool&amp;gt;;&lt;br /&gt;
    patchMapMethod      &amp;lt;word&amp;gt;;&lt;br /&gt;
    transform&lt;br /&gt;
    {&lt;br /&gt;
        // Optional entries&lt;br /&gt;
        position    &amp;lt;Function1&amp;lt;vector&amp;gt;&amp;gt;;&lt;br /&gt;
        origin      &amp;lt;vector&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
        direction   &amp;lt;Function1&amp;lt;vector&amp;gt;&amp;gt;;&lt;br /&gt;
        normal      &amp;lt;vector&amp;gt;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Conditional entries&lt;br /&gt;
&lt;br /&gt;
        // when consistent=false&lt;br /&gt;
        patchMap        &amp;lt;HashTable&amp;lt;word&amp;gt;&amp;gt;;  // (&amp;lt;patchSrc&amp;gt; &amp;lt;patchTgt&amp;gt;);&lt;br /&gt;
        cuttingPatches  &amp;lt;wordList&amp;gt;;  // (&amp;lt;patchTgt1&amp;gt; ... &amp;lt;patchTgtN&amp;gt;);&lt;br /&gt;
&lt;br /&gt;
    // Inherited entries&lt;br /&gt;
&lt;br /&gt;
        ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/fvOptions/constraints/general/mapFieldConstraint/MapFieldConstraint.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 630&lt;br /&gt;
&lt;br /&gt;
=== コミュニティへの貢献：新しい乱流技術委員会サブモジュール ===&lt;br /&gt;
OpenFOAMガバナンス内のTurbulence Technical Committeeのネストされたサブモジュールを含む新しいコミュニティサブモジュールが開始されました。このサブモジュールは、公開されている Turbulence Technical Committee のリポジトリでホストされています。&lt;br /&gt;
&lt;br /&gt;
コミュニティ・サブモジュールは、乱流モデリングに関連する学術的・産業的な貢献のホストとして機能し、知識交換の場を作り、この分野とOpenFOAMの両方を発展させるコラボレーションを促進します。&lt;br /&gt;
&lt;br /&gt;
BitbucketやGitHubのようなGitベースのソースコード・リポジトリ・ホスティング・サービスでホストし、このサブモジュールを介してOpenFOAMソフトウェアにリンクすることができます。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、サブモジュールにlibWallModelledLESライブラリーが組み込まれ、壁面モデルによるラージ・エディ・シミュレーション（WMLES）の領域でOpenFOAMの機能が拡張されました。この乱流モデリング手法は、乱流境界層の内部領域の解像度を回避することで、費用対効果の高いLESを可能にします。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $WM_PROJECT_DIR/modules/turbulence-community&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* OpenCFD would like to acknowledge and thank Turbulence Technical Committee members for their contributions and help.&lt;br /&gt;
&lt;br /&gt;
=== 改善されたラグランジュ・ブラウン運動 ===&lt;br /&gt;
このバージョンでは、ブラウン運動の3次分布のサポートが復活しました。しかし、特に指定がない限り、（互換性のために）デフォルトの球形分布が引き続き使用されます。&lt;br /&gt;
&lt;br /&gt;
このバージョンでは、ブラウン運動の3次分布のサポートが復活しました。&lt;br /&gt;
&lt;br /&gt;
しかし、特に指定がない限り、適度に小さな時間ステップでは不正確であるにもかかわらず、（互換性のために）デフォルトの球面処理が引き続き使用されます。&lt;br /&gt;
&lt;br /&gt;
三次分布は、球面処理が明示的に無効化されている場合に使用される。例えば&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
subModels&lt;br /&gt;
{&lt;br /&gt;
    particleForces&lt;br /&gt;
    {&lt;br /&gt;
        sphereDrag;&lt;br /&gt;
        BrownianMotion&lt;br /&gt;
        {&lt;br /&gt;
            lambda     2e-10;&lt;br /&gt;
            turbulence false;&lt;br /&gt;
            spherical  false;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;立方体分布と球形分布の違いは次の図に見られる。&lt;br /&gt;
&lt;br /&gt;
変更の報告、検証、テストはGuanyang Xueの好意によるものである。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.H&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Issue 2922&lt;br /&gt;
&lt;br /&gt;
Merge request 634&lt;br /&gt;
&lt;br /&gt;
== Post-processing ==&lt;br /&gt;
&lt;br /&gt;
=== 新しいAbaqusサンプルセット ===&lt;br /&gt;
新しい abaqusMesh セットは、Abaqus メッシュポイント形式を使用してファイルからサンプル位置を導出します。使用例：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
sets&lt;br /&gt;
{&lt;br /&gt;
    cone25 // user-specified set name&lt;br /&gt;
    {&lt;br /&gt;
        type        abaqusMesh;&lt;br /&gt;
        file        &amp;quot;abaqusMesh.inp&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        // Optional entries&lt;br /&gt;
&lt;br /&gt;
        // Scale, e.g. mm to m&lt;br /&gt;
        scale       0.001;&lt;br /&gt;
&lt;br /&gt;
        // Search distance when the sample point is not located in a cell&lt;br /&gt;
        maxDist     0.25;&lt;br /&gt;
&lt;br /&gt;
        ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Tutorials&lt;br /&gt;
&lt;br /&gt;
* TBA&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/sampling/sampledSet/abaqus&lt;br /&gt;
&lt;br /&gt;
=== 新しいAbaqusセットライター ===&lt;br /&gt;
新しいAbaqusセットライターはOpenFOAMセットデータをAbaqusフォーマットに変換します。使用例&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
T&lt;br /&gt;
{&lt;br /&gt;
    type sets;&lt;br /&gt;
    setFormat abaqus;&lt;br /&gt;
    fields (T);&lt;br /&gt;
    sets&lt;br /&gt;
    {&lt;br /&gt;
        ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;オプションの書式オプションは、formatOptions辞書内のabaqusサブ辞書で提供されます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
formatOptions&lt;br /&gt;
{&lt;br /&gt;
    abaqus&lt;br /&gt;
    {&lt;br /&gt;
        format      ascii;&lt;br /&gt;
&lt;br /&gt;
        // Optional entries&lt;br /&gt;
&lt;br /&gt;
        // Custom header: $ entries are substituions&lt;br /&gt;
        header&lt;br /&gt;
        (&lt;br /&gt;
            &amp;quot;** OpenFOAM abaqus output&amp;quot;&lt;br /&gt;
            &amp;quot;** Project $FOAM_CASE&amp;quot;&lt;br /&gt;
            &amp;quot;** File $FILE_NAME&amp;quot;&lt;br /&gt;
            &amp;quot;** $FIELD_NAME Time t=$TIME&amp;quot;&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        // Write geometry in addition to field data&lt;br /&gt;
        writeGeometry yes;&lt;br /&gt;
&lt;br /&gt;
        // Null value when sample value is not found&lt;br /&gt;
        // Default is scalar::min&lt;br /&gt;
        nullValue   0;&lt;br /&gt;
&lt;br /&gt;
        // Insert additional time sub-directory in the output path&lt;br /&gt;
        // - yes : postProcessing/&amp;lt;fo-name&amp;gt;/&amp;lt;time&amp;gt;/&amp;lt;file&amp;gt;&lt;br /&gt;
        // - no : postProcessing/&amp;lt;fo-name&amp;gt;/&amp;lt;file&amp;gt;&lt;br /&gt;
        useTimeDir  no;&lt;br /&gt;
&lt;br /&gt;
        // Available when 'useTimeDir' is 'no' to disambiguate file names&lt;br /&gt;
&lt;br /&gt;
        // Time base for output file names:&lt;br /&gt;
        // - 'time' : &amp;lt;base&amp;gt;.inp_&amp;lt;field&amp;gt;.&amp;lt;time&amp;gt;&lt;br /&gt;
        // - 'iteration' : &amp;lt;base&amp;gt;.inp_&amp;lt;field&amp;gt;.&amp;lt;iteration&amp;gt;&lt;br /&gt;
        timeBase    iteration;&lt;br /&gt;
&lt;br /&gt;
        // Optional start counters when using timeBase iteration&lt;br /&gt;
        writeIndex&lt;br /&gt;
        (&lt;br /&gt;
            T 1&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Tutorials&lt;br /&gt;
&lt;br /&gt;
* TBA&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/meshTools/coordSet/writers/abaqus/abaqusCoordSetWriter.C&lt;br /&gt;
&lt;br /&gt;
=== パッチ・シード・セットの改善 ===&lt;br /&gt;
patchSeed sampled setがパッチ全体で一様にサンプルシードを計算するようになりました。以前の実装では、顔のインデックスをパッチ全体で一様にサンプリングしていましたが、その副作用として、より小さな顔に偏りがありました。&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
streamline5&lt;br /&gt;
{&lt;br /&gt;
    type                streamLine;&lt;br /&gt;
    libs                (fieldFunctionObjects);&lt;br /&gt;
    U                   U;&lt;br /&gt;
    fields              (U p);&lt;br /&gt;
    setFormat           vtk;&lt;br /&gt;
    direction           forward;&lt;br /&gt;
    lifeTime            20000;&lt;br /&gt;
    cloud               particleTracks;&lt;br /&gt;
    seedSampleSet&lt;br /&gt;
    {&lt;br /&gt;
        type            patchSeed;&lt;br /&gt;
        axis            xyz;&lt;br /&gt;
        patches         (&amp;quot;inlet1&amp;quot;);&lt;br /&gt;
        maxPoints       40;&lt;br /&gt;
    }&lt;br /&gt;
    interpolationScheme cellPoint;&lt;br /&gt;
    trackLength         0.001;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/simpleFoam/motorBike/system/wallBoundedStreamLines&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/sampling/sampledSet/patchSeed&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 647&lt;br /&gt;
&lt;br /&gt;
=== 新しいケース情報機能オブジェクト ===&lt;br /&gt;
新しい caseInfo 関数オブジェクトは、実行時または後処理の一部として、ソルバーとケースの情報を生成します。収集されるデータには以下が含まれます：&lt;br /&gt;
&lt;br /&gt;
* メタデータ：ケース名、パス、タイムディレクトリ数など。&lt;br /&gt;
* 辞書エントリ : 任意の入力辞書からすべて/選択したものを抽出&lt;br /&gt;
** fvSolutionからUリニアソルバーを取得するには、'solvers/U/solver'などのスコープを使用する。&lt;br /&gt;
** はワイルドカードをサポートしている。例えば、fvSolution U ソルバー・キーワードが&amp;quot;(U|k|epsilon) &amp;quot;であった場合。&lt;br /&gt;
** include'または'exclude'リストを使用して、含める/除外するエントリ名の選択を制限する。&lt;br /&gt;
* メッシュ統計：点、面、セルの数、境界、ゾーン名など。&lt;br /&gt;
* 関数オブジェクトの結果：関数オブジェクトの結果のキャッシュ値など&lt;br /&gt;
&lt;br /&gt;
使用例：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
caseInfo1&lt;br /&gt;
{&lt;br /&gt;
    type        caseInfo;&lt;br /&gt;
    libs        (utilityFunctionObjects);&lt;br /&gt;
&lt;br /&gt;
    writeFormat json; // josn | dictionary&lt;br /&gt;
&lt;br /&gt;
    // List of dictionaries - retrieve using 'path' or registered 'name'&lt;br /&gt;
    dictionaries&lt;br /&gt;
    {&lt;br /&gt;
        fvSolution&lt;br /&gt;
        {&lt;br /&gt;
            name        &amp;quot;fvSolution&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
            // include all entries by default&lt;br /&gt;
        }&lt;br /&gt;
        controlDict&lt;br /&gt;
        {&lt;br /&gt;
            path        &amp;quot;system/controlDict&amp;quot;;&lt;br /&gt;
            include&lt;br /&gt;
            (&lt;br /&gt;
                &amp;quot;application&amp;quot;&lt;br /&gt;
                &amp;quot;deltaT&amp;quot;&lt;br /&gt;
                &amp;quot;startTime&amp;quot;&lt;br /&gt;
                &amp;quot;endTime&amp;quot;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Extract function object results&lt;br /&gt;
    functionObjects (pressureDifference sample1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;出力例&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;meta&amp;quot; : {&lt;br /&gt;
        &amp;quot;case&amp;quot; : &amp;quot;heatExchanger&amp;quot;,&lt;br /&gt;
        &amp;quot;path&amp;quot; : &amp;quot;chtMultiRegionSimpleFoam/heatExchanger&amp;quot;,&lt;br /&gt;
        &amp;quot;regions&amp;quot; : [&amp;quot;air&amp;quot;, &amp;quot;porous&amp;quot;],&lt;br /&gt;
        &amp;quot;nTimes&amp;quot; : 7,&lt;br /&gt;
        &amp;quot;nProc&amp;quot; : 1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;regions&amp;quot; : {&lt;br /&gt;
        &amp;quot;air&amp;quot; : {&lt;br /&gt;
            &amp;quot;mesh&amp;quot; : {&lt;br /&gt;
                &amp;quot;nGeometricD&amp;quot; : 3,&lt;br /&gt;
                &amp;quot;nSolutionD&amp;quot; : 3,&lt;br /&gt;
                &amp;quot;nPoints&amp;quot; : 252991,&lt;br /&gt;
                &amp;quot;nFaces&amp;quot; : 739260,&lt;br /&gt;
                &amp;quot;nCells&amp;quot; : 243000,&lt;br /&gt;
                &amp;quot;nPatches&amp;quot; : 4,&lt;br /&gt;
                &amp;quot;pointZones&amp;quot; : [],&lt;br /&gt;
                &amp;quot;faceZones&amp;quot; : [&amp;quot;rotorBlades&amp;quot;, &amp;quot;baffleFaces&amp;quot;],&lt;br /&gt;
                &amp;quot;cellZones&amp;quot; : [&amp;quot;cylinder&amp;quot;, &amp;quot;innerCylinder&amp;quot;, &amp;quot;rotor&amp;quot;],&lt;br /&gt;
                &amp;quot;boundsMin&amp;quot; : [0, 0, 0],&lt;br /&gt;
                &amp;quot;boundsMax&amp;quot; : [5.000000e-01, 5.000000e-01, 5.000000e-01],&lt;br /&gt;
                &amp;quot;clouds&amp;quot; : []&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;boundary&amp;quot; : {&lt;br /&gt;
                &amp;quot;types&amp;quot; : {&lt;br /&gt;
                    &amp;quot;walls&amp;quot; : &amp;quot;wall&amp;quot;,&lt;br /&gt;
                    &amp;quot;inlet&amp;quot; : &amp;quot;patch&amp;quot;,&lt;br /&gt;
                    &amp;quot;outlet&amp;quot; : &amp;quot;patch&amp;quot;,&lt;br /&gt;
                    &amp;quot;blades&amp;quot; : &amp;quot;wall&amp;quot;&lt;br /&gt;
                },&lt;br /&gt;
                &amp;quot;fields&amp;quot; : {&lt;br /&gt;
                    &amp;quot;alphat&amp;quot; : {&lt;br /&gt;
                        &amp;quot;walls&amp;quot; : &amp;quot;compressible::alphatWallFunction&amp;quot;,&lt;br /&gt;
                        &amp;quot;inlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;outlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;blades&amp;quot; : &amp;quot;compressible::alphatWallFunction&amp;quot;&lt;br /&gt;
                    },&lt;br /&gt;
                    &amp;quot;nut&amp;quot; : {&lt;br /&gt;
                        &amp;quot;walls&amp;quot; : &amp;quot;nutkWallFunction&amp;quot;,&lt;br /&gt;
                        &amp;quot;inlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;outlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;blades&amp;quot; : &amp;quot;nutkWallFunction&amp;quot;&lt;br /&gt;
                    },&lt;br /&gt;
                    &amp;quot;p&amp;quot; : {&lt;br /&gt;
                        &amp;quot;walls&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;inlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;outlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;blades&amp;quot; : &amp;quot;calculated&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/utilities/caseInfo&lt;br /&gt;
&lt;br /&gt;
== DMDによる新しい低次モデリング磁場再構成 ==&lt;br /&gt;
動的モード分解（DMD）機能は、OpenFOAM v2006で導入され、その後OpenFOAM v2106で拡張されました。このリリースにより、OpenFOAMは、DMDの主な利点の1つである、任意の中間時点や将来の時点におけるCFD計算を必要とせずに、与えられたモードとそれに関連するダイナミクスに基づいて場を生成する機能を習得しました。&lt;br /&gt;
&lt;br /&gt;
この機能により、ユーザーはシミュレーション全体をいくつかのモードとモードダイナミクスに凝縮し、CFD解析を追加することなく、任意の時間における場の生成や将来の状態の予測を行うことができます。&lt;br /&gt;
&lt;br /&gt;
もう一つの潜在的な利点は、ユーザーがシミュレーションを短縮し、大規模なシミュレーションを行うことなく流れ場の将来の状態を予測できることである。これは、より短時間のシミュレーションで得られたモードとモードダイナミクスを使用することで実現できます。&lt;br /&gt;
&lt;br /&gt;
結果の質は、基礎となる縮小モデルの能力と入力データの質に依存することに留意すべきである。再構成結果を改善するためには、流れからモードが正しく抽出されていることを確認する必要がある。&lt;br /&gt;
&lt;br /&gt;
system/ROMfieldsDictを使った最小の例は以下の通り：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
// Mandatory entries&lt;br /&gt;
ROMmodel        &amp;lt;word&amp;gt;;&lt;br /&gt;
field           &amp;lt;word&amp;gt;;&lt;br /&gt;
object          &amp;lt;word&amp;gt;;&lt;br /&gt;
deltaT          &amp;lt;scalar&amp;gt;;&lt;br /&gt;
time            &amp;lt;scalar&amp;gt;;&lt;br /&gt;
modes           &amp;lt;labelList&amp;gt;;&lt;br /&gt;
amplitudes      &amp;lt;complexList&amp;gt;;&lt;br /&gt;
eigenvalues     &amp;lt;complexList&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
// Optional entries&lt;br /&gt;
startTime       &amp;lt;scalar&amp;gt;;&lt;br /&gt;
dimensions      &amp;lt;dimensionSet&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
// Inherited entries&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;下の図は、2次元円柱チュートリアルから得られた速度場と、シミュレーションを実行せずにDMDモードとダイナミクスを使用して再構成したものです：&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_UTILITIES/postProcessing/miscellaneous/createROMfields/createROMfields.C&lt;br /&gt;
* $FOAM_UTILITIES/postProcessing/miscellaneous/createROMfields/ROMmodels/DMD/DMD.H&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/pimpleFoam/laminar/cylinder2D&lt;br /&gt;
&lt;br /&gt;
References&lt;br /&gt;
&lt;br /&gt;
* Kiewat, M. (2019). Streaming modal decomposition approaches for vehicle aerodynamics. PhD thesis. Munich: Technical University of Munich. URL:mediatum.ub.tum.de/doc/1482652/1482652.pdf&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* OpenCFD would like to acknowledge and thank Marco Kiewat for his contributions, elaborate suggestions and help, and critical recommendations.&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 639&lt;br /&gt;
&lt;br /&gt;
=== ノイズ・ユーティリティの向上 ===&lt;br /&gt;
ノイズユーティリティは、時間情報からのデフォルトの自動計算だけでなく、ユーザー定義のサンプリング周波数（キーワード：sampleFreq）もサポートするようになりました。読みやすさを向上させるため、周波数の上限と下限をminFreqとmaxFreqで指定できるようになりました（以前のキーワードも引き続きサポートされています）。&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
// Lower frequency limit, default 25 Hz, former name 'fl'&lt;br /&gt;
minFreq 25;&lt;br /&gt;
&lt;br /&gt;
// Upper frequency limit, default 10 kHz, former name 'fu'&lt;br /&gt;
maxFreq 10000;&lt;br /&gt;
&lt;br /&gt;
// OPTIONAL - Sample frequency&lt;br /&gt;
sampleFreq 100;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;サンプリングされた時間から周波数を計算する際に時間が不均一であると評価された場合、deltaT が非常に小さい場合、不均一性は多くの場合偽のエラーであるため、ユーティリティはエラーではなく警告を発するようになりました。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/surfMesh/writers/ensight/ensightSurfaceWriter.H&lt;br /&gt;
* $FOAM_SRC/randomProcesses/noise/noiseModels/noiseModel/noiseModel.H&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS//incompressible/pimpleFoam/LES/vortexShed&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Issue 2999&lt;br /&gt;
&lt;br /&gt;
=== エンサイトの出力向上 ===&lt;br /&gt;
EnSightライターの時間値は、デフォルトの固定フォーマットと精度を使用する代わりに、ユーザーが指定できるようになりました。例えば&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
formatOptions&lt;br /&gt;
{&lt;br /&gt;
    ensight&lt;br /&gt;
    {&lt;br /&gt;
        timeFormat      general; // Format for time directory names (general | fixed | scientific); default scientific&lt;br /&gt;
        timePrecision   12;      // Default = 5&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これらの新しいフォーマットオプションは、例えばノイズユーティリティの圧力サンプリングと組み合わせて、小さなタイムステップを使用する場合に特に便利です。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/surfMesh/writers/ensight/ensightSurfaceWriter.H&lt;br /&gt;
* $FOAM_SRC/functionObjects/utilities/ensightWrite/ensightWrite.H&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Merge request 634&lt;br /&gt;
&lt;br /&gt;
=== 新しいラグランジュ関数オブジェクト ウェーバー数 ===&lt;br /&gt;
表面張力と比較した粒子の慣性の相対的な重要性を監視するために、ラグランジュ関数オブジェクトWeberNumberが運動学小包に導入されています。&lt;br /&gt;
&lt;br /&gt;
最小限の使用例は以下の通り：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cloudFunctions&lt;br /&gt;
{&lt;br /&gt;
    KinematicWeberNumber1&lt;br /&gt;
    {&lt;br /&gt;
        // Mandatory entries&lt;br /&gt;
        type             WeberNumber;&lt;br /&gt;
        sigma            &amp;lt;scalar&amp;gt;;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/lagrangian/intermediate/submodels/CloudFunctionObjects/KinematicWeberNumber/KinematicWeberNumber.H&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/lagrangian/kinematicParcelFoam/spinningDisk&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 648&lt;br /&gt;
&lt;br /&gt;
=== 空のサーフェス（surfaceFieldValue）の取り扱いが改善されました。 ===&lt;br /&gt;
ワークフローによっては、サンプリングされたサーフェスが、シミュレーション中に現れたり消えたりするフェイスゾーンなどの量に依存する場合があります。そのため、空のサーフェスでサーフェスフィールドの値を評価することは、通常、セットアップに重大なエラーがあることを示しますが、このようなことが予想される場合もあります。追加キーワードempty-surfaceにより、空のサーフェスに遭遇したときの動作を指定することができます。&lt;br /&gt;
&lt;br /&gt;
最小限の例：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
surfaceFieldValueFaceZone1&lt;br /&gt;
{&lt;br /&gt;
    type            surfaceFieldValue;&lt;br /&gt;
    libs            (fieldFunctionObjects);&lt;br /&gt;
    ...&lt;br /&gt;
    regionType      faceZone;&lt;br /&gt;
&lt;br /&gt;
    empty-surface   warn;  // default | warn | ignore | strict&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.H&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Issue 2966&lt;br /&gt;
&lt;br /&gt;
== Parallel ==&lt;br /&gt;
&lt;br /&gt;
=== 結合パッチフィールド値の一貫性 ===&lt;br /&gt;
結合された制約境界条件、例: プロセッサーとサイクリックは、その内部フィールド値と一致している必要があります。 たとえば、プロセッサ パッチでは、値フィールドに隣接するプロセッサ セルの値が含まれます。つまり、反対側のセルの値がキャッシュされます。 他の結合されたパッチ フィールドは、ローカルおよび隣接セル値の補間値を値として持つ場合があります。 経験則として、セル値を変更するコードはすべて、たとえば、 勾配計算では、値の更新を実行するために境界条件を修正する呼び出しを行う必要があります (プロセッサ境界フィールドでのハロー スワップに相当します)。 ただし、「ローカル」操作の場合、たとえば 乗算では、境界条件に値のみがあり、セル値に依存しない場合、これがスキップされることがあります。 ほとんどの「通常の」境界条件はこのカテゴリに分類されます。&lt;br /&gt;
&lt;br /&gt;
結合境界条件の場合、プロセッサのパッチ フィールドにも適用されますが、たとえば、パッチ フィールドには適用されません。 環状、環状AMI のバリアント。 これにより、中間計算の値が一貫性制約に従わなくなります。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、制約パッチの値がいつでも最新であるように、ローカル操作の後の評価を強制しています。この選択はまだ調査中であり、将来更新される可能性があることに注意してください。&lt;br /&gt;
&lt;br /&gt;
=== patchField の整合性チェックの結合 ===&lt;br /&gt;
ビジュアルコードのチェックで、meshWaveメソッドとmeshWaveAddressingメソッドによって返される壁面距離フィールドが平行一貫していないことが確認されました。このようなエラーを発見しやすくするために、オプションで整合性チェックが追加されました：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
DebugSwitches&lt;br /&gt;
{&lt;br /&gt;
    volScalarField::Boundary            1;&lt;br /&gt;
    volVectorField::Boundary            1;&lt;br /&gt;
    volSphericalTensorField::Boundary   1;&lt;br /&gt;
    volSymmTensorField::Boundary        1;&lt;br /&gt;
    volTensorField::Boundary            1;&lt;br /&gt;
&lt;br /&gt;
    areaScalarField::Boundary           1;&lt;br /&gt;
    areaVectorField::Boundary           1;&lt;br /&gt;
    areaSphericalTensorField::Boundary  1;&lt;br /&gt;
    areaSymmTensorField::Boundary       1;&lt;br /&gt;
    areaTensorField::Boundary           1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;1 を指定するとチェックが有効になり、チェックに失敗すると FatalError が発生する。特に FOAM_ABORT と組み合わせることで、スタックトレースを生成することができます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
FOAM_ABORT=true mpirun -np 2 simpleFoam -parallel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;デバッグ・スイッチはビットマップとして解釈される：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!bit&lt;br /&gt;
!value(2^bit)&lt;br /&gt;
!effect&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|ローカル操作ごとにチェックを加える&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|2&lt;br /&gt;
|プリントの入力と終了をチェックする&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|4&lt;br /&gt;
|fatalErrorの代わりにwarning&lt;br /&gt;
|}&lt;br /&gt;
比較の許容誤差はデフォルトで0に設定されている。プロセッサのハロースワップでは、まったく同じ操作がまったく同じ順序で実行されるため、許容誤差の問題はありません。しかし、サイクリックやサイクリックAMIなどの「補間」結合境界条件では、ローカル演算（定数による乗算など）が補間後に実行されるため、若干異なる切り捨て誤差が発生します。この場合、許容誤差をオーバーライドすることができます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
OptimisationSwitches&lt;br /&gt;
{&lt;br /&gt;
    volScalarField::Boundary::tolerance           1e-10;&lt;br /&gt;
    // .. and similar for all the other field types ..&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 下位互換性 ====&lt;br /&gt;
新しい整合性操作は、周期的または周期的AMI境界条件、または結合境界条件を使用する非自明な乱流モデルを使用するケースの動作をわずかに変更します。&lt;br /&gt;
&lt;br /&gt;
オプションとして、etc/controlDictのlocalConsistency設定をオーバーライドすることで、この振る舞いを以前の（一貫性のない！）形に戻すことができる：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
OptimisationSwitches&lt;br /&gt;
{&lt;br /&gt;
    //- Enable enforced consistency of constraint bcs after 'local' operations.&lt;br /&gt;
    //  Default is on. Set to 0/false to revert to &amp;lt;v2306 behaviour&lt;br /&gt;
    localConsistency 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;簡単なテストはcyclicAMIパッチを使ったチュートリアル、例えばpipeCyclicチュートリアルです。上記のDebugSwitchでチェックを有効にすると問題なく動作しますが、localConsistencyフラグを無効にすると不整合が検出されます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[0] --&amp;gt; FOAM FATAL ERROR: (openfoam-2302 patch=230110)&lt;br /&gt;
[0] Field dev(symm(grad(U))) is not evaluated? On patch side1 type cyclicAMI : average of field = ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Related issues&lt;br /&gt;
&lt;br /&gt;
* Issue 2783&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 628&lt;br /&gt;
&lt;br /&gt;
==== ノンブロッキング環状A(C)MI ====&lt;br /&gt;
cyclicAMI境界条件は、複数の隣接する面からの面積加重補間を実装します。これらの面はローカルであることも、リモートプロセッサに存在することもあり、並列通信を必要とします。&lt;br /&gt;
&lt;br /&gt;
以前のリリースでは、それぞれのcyclicAMIの評価または線形ソルバーの行列寄与（ローカルでない隣接面の場合）が、独自の通信セットをトリガーし、次のcyclicAMIまたはプロセッサパッチに進む前に、これらの終了を待っていました。このリリースでは、すべての送受信を開始するプロセッサパッチと同様の経路をたどり、ローカル値を更新するためにリモートデータを使用する「消費」フェーズがあります。典型的な境界条件の評価や線形ソルバーの更新は、次のような形になります：&lt;br /&gt;
&lt;br /&gt;
* すべての initEvaluate/initInterfaceMatrixUpdate を行う（結合境界のみ）。プロセッサ、cyclicA(C)MI の場合、これはノンブロッキングの送受信を開始する。&lt;br /&gt;
* すべての通信が終了するのを待つ（または、ポーリング（v2306 nPollProcInterfaces）を使用して以下と組み合わせる）。&lt;br /&gt;
* すべてのevaluate/updateInterfaceMatrixを行う。これは、受信したデータを使用して、行列解への寄与を計算します。&lt;br /&gt;
&lt;br /&gt;
cyclicA(C)MIからの通信をプロセッサの境界条件とまったく同じ方法で処理することで、ボトルネックが発生する可能性が低くなり、スケーリングが向上することが期待される。さらなる最適化として、ローカル送受信バッファは一度割り当てられ、再利用される。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 641&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* any case with &amp;lt;code&amp;gt;cyclicAMI&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;cyclicACMI&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== GAMG : プロセッサ・アグロメレーションにおけるcyclicAMIのサポート ====&lt;br /&gt;
GAMGソルバーは、ローカルアグロメレーションに加えて、プロセッサ間で行列を結合することができます（プロセッサアグロメレーション）。これは、コア数が多い場合に有益です：&lt;br /&gt;
&lt;br /&gt;
* 最も粗いレベルを解くコアの数を減らす - 世界的な削減のほとんどは、最も粗いレベルで起こる。&lt;br /&gt;
* は、スムージングやプリコンディショニングなど、すべての演算の暗黙性を高める。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、cyclicAMIやcyclicACMIなど、すべての連成境界条件のプロセッサアグロメレーションを可能にするようにフレームワークが拡張されました。&lt;br /&gt;
&lt;br /&gt;
テストとして、以下を比較した。&lt;br /&gt;
&lt;br /&gt;
* 40x10x1のブロック1つ、および&lt;br /&gt;
* 2つの20x10x1ブロックがcyclicAMIを使って結合されている。&lt;br /&gt;
&lt;br /&gt;
どちらのケースも4つに分解され、GAMGソルバーとmasterCoarsestプロセッサーのアグロメーターを併用することで、すべての行列がmaster(s)に結合された。&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
solvers&lt;br /&gt;
{&lt;br /&gt;
    p&lt;br /&gt;
    {&lt;br /&gt;
        solver                  GAMG;&lt;br /&gt;
        processorAgglomerator   masterCoarsest;&lt;br /&gt;
        ..&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* シングルブロック（つまり、cyclicAMIはなく、プロセッサーフェイスのみ）：&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
                              nCells       nInterfaces&lt;br /&gt;
   Level  nProcs         avg     max       avg     max&lt;br /&gt;
   -----  ------         ---     ---       ---     ---&lt;br /&gt;
       0       4         100     100       1.5       2&lt;br /&gt;
       1       4          50      50       1.5       2&lt;br /&gt;
       2       1         100     100         0       0&lt;br /&gt;
       3       1          48      48         0       0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;すべてのプロセッサ面が内部となるため、境界の数（nInterfaces）は0となる。&lt;br /&gt;
&lt;br /&gt;
* 2ブロックの場合（つまり、cyclicAMIとプロセッサフェイス）：&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
                              nCells         nInterfaces&lt;br /&gt;
   Level  nProcs         avg     max         avg     max&lt;br /&gt;
   -----  ------         ---     ---         ---     ---&lt;br /&gt;
       0       4         100     100           3       3&lt;br /&gt;
       1       4          50      50           3       3&lt;br /&gt;
       2       1         100     100           2       2&lt;br /&gt;
       3       1          48      48           2       2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ここでは、2つのcyclicAMIのみが保存されるため、境界の数は3つから2つに減る。&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;cyclicA(C)MI&amp;lt;/code&amp;gt; :&lt;br /&gt;
** すべての面がローカルになると、動作は非分散にリセットされる。つまり、操作は追加のコピーなしで、提供されたフィールドに直接適用される。&lt;br /&gt;
** 回転変換はまだサポートされていません。これは基本的な制限ではありませんが、変換を考慮するためにステンシルを追加で書き換える必要があります。&lt;br /&gt;
* processorCyclic : (オーナーセルと隣接セルが異なるプロセッサ上にあるサイクリック) はまだサポートされていない。これは通常のプロセッサ境界として扱われるため、変換は失われる。processorCyclicはdecomposeParDictでパッチ制約を使うことで回避できることに注意。&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
constraints&lt;br /&gt;
{&lt;br /&gt;
    patches&lt;br /&gt;
    {&lt;br /&gt;
        //- Keep owner and neighbour on same processor for faces in patches&lt;br /&gt;
        //  (only makes sense for cyclic patches and cyclicAMI)&lt;br /&gt;
        type    preservePatches;&lt;br /&gt;
        patches (cyclic);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* masterCoarsestのみがテストされているが、コードは他のどのプロセッサー凝集法もサポートするはずである。&lt;br /&gt;
* これまでの限られたテストでは、cyclicAMIのプロセッサー集積の利点は示され ていない。これは、ボトルネック、例えば、大域的削減の数や暗黙性が問題となる場合にのみ有効である。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 645&lt;br /&gt;
&lt;br /&gt;
=== redistributeParとファイルシステムの改良 ===&lt;br /&gt;
このリリースでは、照合ファイル・フォーマットの一般的なサポートが改善され、redistributeParユーティリティの調整も行われました。これらの変更により、照合ファイル形式は以前よりも幅広いワークフローで使用できるようになりました。&lt;br /&gt;
&lt;br /&gt;
これらの変更に加え、分散ファイルシステムによるダイナミックコードの取り扱いが改善された。このようなタイプのシステムでは、動的にコンパイルされたライブラリも対応するサブランクに配布されるようになった。&lt;br /&gt;
&lt;br /&gt;
==== 照合されたインクルードファイルの取り扱いが改善された ====&lt;br /&gt;
以前のバージョンでは、&amp;quot;include &amp;quot;ファイルを照合と組み合わせて使用すると、ファイルの内容がランタイムで変更可能なものとして扱われる場合、非常に壊れやすいことがあった。今回、ウォッチド・ファイルの取り扱いが更新され、プロセッサー・ランク間の適切な対応が保証されるようになった。&lt;br /&gt;
&lt;br /&gt;
== Usability ==&lt;br /&gt;
&lt;br /&gt;
=== New verification and validation public repository ===&lt;br /&gt;
OpenFOAMソフトウェアの検証と妥当性確認に関するコミュニティへの貢献をホストする新しいパブリックリポジトリが開設されました： OpenFOAM Verification and Validation Repository。&lt;br /&gt;
&lt;br /&gt;
このリポジトリの主な目的は、OpenFOAMコミュニティがソフトウェアの検証と検証の側面を共有、協力、強化するための一元化されたプラットフォームを提供することです。コミュニティの集合的な知識と専門知識を結集することにより、OpenFOAMシミュレーションの全体的な品質を向上させ、数値モデリングのベストプラクティスを推進することを目指しています。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、Taylor-Green渦問題と円形Couette流れが組み込まれ、ケースのセットアップとドキュメンテーションのために提供されたテンプレートの実用的な応用が示されています。&lt;br /&gt;
&lt;br /&gt;
=== コンピレーション ===&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
OpenFOAMで使用されるC++標準は、GNUコンパイラでもc++14になりました。この変更により、推奨コンパイラの最小バージョンはgcc-7.5.0になりました。&lt;br /&gt;
&lt;br /&gt;
将来のコード移行を支援するため、「より厳しい」非推奨警告を有効にできるようになりました。これは WM_COMPILE_CONTROL 環境変数の +strict エントリでグローバルに、または wmake -strict で一度だけ有効にできます。これは主に開発者向けのオプションと考えることができます（多くの警告を生成する可能性があります）が、モジュールを書くときに便利で面白いかもしれません。&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
このバージョンには、MacOS上でのコンパイルと実行に関するいくつかの改良が含まれています。&lt;br /&gt;
&lt;br /&gt;
* AppleとARM64のFPE処理の改善（Guanyang Xue氏提供）&lt;br /&gt;
* rpathハンドリング&lt;br /&gt;
* xcrun サポート&lt;br /&gt;
&lt;br /&gt;
MacOS のコンパイルでは、rpath のサポートがデフォルトで有効になり、Apple SIP (System Integrity Protection) の影響に対する回避策がいくらか減って、これらのシステムでの OpenFOAM の実行が簡単になりました。WM_COMPILE_CONTROL環境変数に~rpathを追加することで、rpath処理を無効にできます。&lt;br /&gt;
&lt;br /&gt;
MacOSコンパイルでは、xcodeツール（xcrunなど）の使用もサポートするようになりました。これらはWM_COMPILE_CONTROL環境変数に+xcrunを追加することで有効になります。見つかると、これらのコンパイル・ルールが使用されます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cc   := xcrun cc&lt;br /&gt;
CC   := xcrun c++ -std=c++14&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Clang ===&lt;br /&gt;
clangベースのコンパイルで、ldリンカを使用するように明示的に指定できるようになりました（注意：clangがldを使用するかlldを使用するかはインストールに依存します）。リンカの選択は環境変数 WM_COMPILE_CONTROL の対応するエントリで定義されます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
- `+gold`    : use gold linker&lt;br /&gt;
- `+link-ld` : use   ld linker&lt;br /&gt;
- `+lld`     : use  lld linker&lt;br /&gt;
- `+mold`    : use mold linker&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenMP ===&lt;br /&gt;
openmp と no-openmp の扱いが強化された。&amp;quot;+openmp&amp;quot; (wmake -openmp) よりも &amp;quot;~openmp&amp;quot; (wmake -no-openmp) の方が優先されます。&lt;br /&gt;
&lt;br /&gt;
これにより、一般的に+openmpを指定する場合はrobusterとなり、特定のビルド・コンポーネント（スタティック・ライブラリやMPIブリッジ・コードなど）を指定する場合は~openmpとなる。&lt;br /&gt;
&lt;br /&gt;
=== Profiling ===&lt;br /&gt;
このバージョンには、Extraeプロファイリング用のフックが含まれています。デフォルトでは、フックは常にOpenFOAMと一緒にビルドされますが、LD_PRELOADによってExtraeが実際にロードされるまで休止しています。これにより、OpenFOAMをその目的専用に再コンパイルすることなく、Extraeのトレースが可能になります。&lt;br /&gt;
&lt;br /&gt;
Josep Pocurull（Barcelona Supercomputing Center）により提供され、exaFOAMプロジェクトの一部として使用されたコード。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/global/profiling/profilingTrigger.C&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 652&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2312%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=850</id>
		<title>OpenFOAM v2312リリースノート</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2312%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=850"/>
		<updated>2023-12-24T08:12:39Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenCFDは、2023年12月リリースのOpenFOAM® v2312を発表いたします。このリリースは、コードの多くの領域にわたってOpenFOAM-v2306の機能を拡張しています。この新機能は、OpenCFDの顧客からのスポンサーによる開発、内部資金による開発、OpenFOAMコミュニティからの機能や変更の統合を表しています。&lt;br /&gt;
&lt;br /&gt;
OpenFOAMはOpenCFDによってGPLライセンスの下で配布されています。様々なLinuxや他のPOSIXシステムでのコンパイルに適したソースコードパッケージに加え、このリリースにはコンパイル済みのバイナリパッケージも多数あります。&lt;br /&gt;
&lt;br /&gt;
Ubuntu Linux: Ubuntu 22.04(LTS)、20.04(LTS)、18.04(LTS)、23.04、22.10 用パッケージインストール&lt;br /&gt;
&lt;br /&gt;
openSUSE Linux: Leap 15.5 用パッケージインストール&lt;br /&gt;
&lt;br /&gt;
Redhat Linuxの亜種: epel 9用のパッケージインストール; Fedora 37&lt;br /&gt;
&lt;br /&gt;
Windowsユーザーには、コンパイル済みパッケージについて3つの選択肢があります（詳細）：&lt;br /&gt;
&lt;br /&gt;
Windows Subsystem for Linux（Ubuntu、openSUSEなどベース）を使用する。&lt;br /&gt;
&lt;br /&gt;
クロスコンパイルによるネイティブ実行ファイル&lt;br /&gt;
&lt;br /&gt;
docker インストール&lt;br /&gt;
&lt;br /&gt;
OpenFOAMのapptainerサポートは、事前にアセンブルされたイメージではなく、記述ファイルによって提供されます：&lt;br /&gt;
&lt;br /&gt;
パッケージング/コンテナ参照&lt;br /&gt;
&lt;br /&gt;
Mac OSXユーザーは、ソースからコンパイルするか、Dockerコンテナを使ってコンパイル済みのパッケージを使用するオプションがあります（詳細）。&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
=== v2312ユーザーアップグレードガイド ===&lt;br /&gt;
&lt;br /&gt;
=== 挙動の変化 ===&lt;br /&gt;
&lt;br /&gt;
==== デフォルトのEnSightフォーマット ====&lt;br /&gt;
&lt;br /&gt;
* 関数オブジェクトとライターが使用するデフォルトの ensight 出力が、シミュレー ション controlDict で指定される \c writeFormat に依存するのではなく、より一貫して ˶c binary format を使用するようになりました。この変更により、foamToEnsight などのユーティリティや、他のファンクション・ オブジェクトやライターとの動作がより一貫したものになります。&lt;br /&gt;
&lt;br /&gt;
==== Function object: &amp;lt;code&amp;gt;Lambda2&amp;lt;/code&amp;gt; ====&lt;br /&gt;
Lambda2関数オブジェクトの出力が、支配方程式の変更、特に符号の反転によって修正されました。その結果、Lambda2のv2312以前のバージョンで観測された負のフィールド値は、v2312リリースでは正のフィールド値になりました（逆も同様）。&lt;br /&gt;
&lt;br /&gt;
=== 名前変更 ===&lt;br /&gt;
&lt;br /&gt;
==== Function object: &amp;lt;code&amp;gt;WeberNumberReacting&amp;lt;/code&amp;gt; ====&lt;br /&gt;
ラグランジュ関数オブジェクトクラスWeberNumberReactingは、新しいラグランジュ雲関数オブジェクトKinematicWeberNumberとの整合性を確保するため、ReactingWeberNumberと改名された。&lt;br /&gt;
&lt;br /&gt;
=== v2312 Developer Upgrade Guide ===&lt;br /&gt;
&lt;br /&gt;
=== Deprecation and Removal ===&lt;br /&gt;
&lt;br /&gt;
==== Removed Items ====&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;faMesh::operator()&amp;lt;/code&amp;gt; has been removed in favour of &amp;lt;code&amp;gt;mesh()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;thisDb()&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
* The &amp;lt;code&amp;gt;typeGlobal()&amp;lt;/code&amp;gt; global function has been replaced with an &amp;lt;code&amp;gt;is_globalIOobject&amp;lt;Type&amp;gt;&amp;lt;/code&amp;gt; traits structure for more consistent and easier overriding. The ancillary &amp;lt;code&amp;gt;typeFilePath()&amp;lt;/code&amp;gt; global function has been superseded by global function as a member of &amp;lt;code&amp;gt;IOobject::typeFilePath&amp;lt;/code&amp;gt; for consistency with &amp;lt;code&amp;gt;IOobject::typeHeaderOk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Changes in definition ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ReadFields&amp;lt;/code&amp;gt; now uses a &amp;lt;code&amp;gt;DynamicList&amp;lt;/code&amp;gt; to implement its LIFO for handling stored objects. The older &amp;lt;code&amp;gt;LIFOStack&amp;lt;/code&amp;gt; interface is marked as ''deprecated'' since it requires more allocations and overhead.&lt;br /&gt;
* Deprecate some &amp;lt;code&amp;gt;IOobjectList::sorted()&amp;lt;/code&amp;gt; const-access methods in favour of the new &amp;lt;code&amp;gt;csorted()&amp;lt;/code&amp;gt; methods. This provides method name consistency with &amp;lt;code&amp;gt;HashTable&amp;lt;/code&amp;gt; and ensures an unambiguous return type.&lt;br /&gt;
* The internal dictionary separator has changed from &amp;lt;code&amp;gt;'.'&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;'/'&amp;lt;/code&amp;gt;, which simplifies internal handling (like a fileName) and allows the dictionary name to be used with unambiguous addressing. No particular side-effects of this change are expected, except if the raw dictionary names have been directly reparsed within code.&lt;br /&gt;
&lt;br /&gt;
=== Changes in inheritance ===&lt;br /&gt;
The &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; class used by &amp;lt;code&amp;gt;fvMesh&amp;lt;/code&amp;gt; has been replaced by member data at the &amp;lt;code&amp;gt;polyMesh&amp;lt;/code&amp;gt; level. For a developer, this means that the following (fragile and ugly) code will now most certainly break!&lt;br /&gt;
 &amp;lt;code&amp;gt;obr.lookupObject&amp;lt;fvMesh&amp;gt;(&amp;quot;data&amp;quot;)   // This was never a good idea&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Relocated Methods ===&lt;br /&gt;
Promote &amp;lt;code&amp;gt;ListOps::identity&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Foam::identity&amp;lt;/code&amp;gt; this becoming more frequently used and there is no ambiguity in calling parameters. Handles both int32 and int64 versions.&lt;br /&gt;
&lt;br /&gt;
=== Container improvements / changes ===&lt;br /&gt;
As with some many releases, the underlying OpenFOAM containers have been upgraded and tweaked in a variety of ways. Some of the focus has been on modernizing internal copying, filling, moving data by harnessing using C++ algorithms in more places. Apart from general code reduction, the shift to algorithms helps provision for different execution models (eg, &amp;lt;code&amp;gt;std::execution::parallel_unsequenced_policy&amp;lt;/code&amp;gt;) in the future.&lt;br /&gt;
&lt;br /&gt;
==== HashTable construct ====&lt;br /&gt;
The default constructors for &amp;lt;code&amp;gt;HashTable&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;HashSet&amp;lt;/code&amp;gt; now truly correspond to a zero-size construct (ie, they invoke no allocations) and are also &amp;lt;code&amp;gt;noexcept&amp;lt;/code&amp;gt;. This is particularly convenient and useful when managing lists of hash sets etc. The move constructors are also now noexcept as well.&lt;br /&gt;
&lt;br /&gt;
* removed unused &amp;lt;code&amp;gt;HashTable(Istream&amp;amp;, label)&amp;lt;/code&amp;gt; constructor.&lt;br /&gt;
&lt;br /&gt;
==== HashTable sizing improvements ====&lt;br /&gt;
&lt;br /&gt;
* earlier deletion of unpopulated HashTable on resizing:  If the table is already clear (ie, has no entries), can immediately remove the old internal table before reallocating the newly sized table, which may avoid a needless memory spike.&lt;br /&gt;
* reserve() method:  Naming and general behaviour as per &amp;lt;code&amp;gt;std::unordered_map&amp;lt;/code&amp;gt;. It behaves similarly to the &amp;lt;code&amp;gt;resize()&amp;lt;/code&amp;gt; method but is supplied the number of elements instead of the capacity, which can be a more natural way of specifying the storage requirements. Additionally, &amp;lt;code&amp;gt;reserve()&amp;lt;/code&amp;gt; will only increase the table capacity for behaviour similar to &amp;lt;code&amp;gt;DynamicList&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;std::vector&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;std::string&amp;lt;/code&amp;gt; etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
C++の最低規格は、2024年にC++11からC++17に引き上げられる予定である。&lt;br /&gt;
&lt;br /&gt;
== Pre-processing ==&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMesh：自動リークパスクロージャーから面を書き込む ===&lt;br /&gt;
snappyHexMeshにはメッシュ内の任意の位置とメッシュ外の位置の間のパスとして定義されたサーフェスのリークを自動的に閉じるオプションがあります。このリリースではリークを閉じるために使用された面はpostProcessingディレクトリのファイルに書き込まれます。&lt;br /&gt;
&lt;br /&gt;
下図は、ギャップのある球体（灰色）、スナップされたメッシュライン（青）、リークを閉じる面（赤）からなるテストケースを示しています：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ファイル書き込みフォーマットはsnappyHexMeshDictの新しいエントリーで選択できます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
//// Format for writing lines. E.g. leak path. Default is vtk format.&lt;br /&gt;
//setFormat ensight;&lt;br /&gt;
&lt;br /&gt;
//// Format to use for surfaces. E.g. leak-closure faces. Default is vtk format.&lt;br /&gt;
//surfaceFormat vtk;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/snappyHexMesh/sphere_gapClosure&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMesh：新しい複数の内側ポイント ===&lt;br /&gt;
snappyHexMeshのセルゾーンはinsidePointを指定することで作成できます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
refinementSurfaces&lt;br /&gt;
{&lt;br /&gt;
    ..&lt;br /&gt;
    cellZoneInside insidePoint;    // outside/insidePoint&lt;br /&gt;
    insidePoint    (1 1 1);        // if (cellZoneInside == insidePoint)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;1つのinsidePointではなく、複数のinsidePointが用意された：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cellZoneInside insidePoints;      // outside/insidePoint&lt;br /&gt;
insidePoints   ((1 1 1));         // if (cellZoneInside == insidePoint)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;下の図では、ジオメトリは2つのボックス（ワイヤーフレーム）で構成され、上のボックスは2つの切り離されたメッシュ領域をカバーしている。赤で示されたセルゾーンは、3つの別々のメッシュ領域を使用して作成されています。checkMeshユーティリティは、切断されたリージョンを表示するために使うことができます。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/snappyHexMesh/insidePoints&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/refinementSurfaces/surfaceZonesInfo.H&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMesh：並列メッシュの負荷分散 ===&lt;br /&gt;
snappyHexMeshは並列実行時に自動的にメッシュのバランスをとることができます。それは以下のどちらかになります&lt;br /&gt;
&lt;br /&gt;
* 変更が小さすぎる場合はバランスを取らない - maxLoadUnbalanceまたはmaxCellUnbalance設定を参照。&lt;br /&gt;
* maxLocalCells設定を参照してください。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、各ステップでメッシュのアンバランスがプリントされます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Layer mesh : cells:353749  faces:1108448  points:406303  unbalance:0.00110248&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;精製前のバランスは、セルの重みを与えることで実装されることに注意。各精製されるセルは8ずつカウントされる。しかし、これは単純な分解法、例えば階層的な分解法にのみ有効である。scotch と KaHip メソッドでは、カット数を含む重みを使ってアンバランスを最小化する。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* any parallel snappyHexMesh case&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C&lt;br /&gt;
&lt;br /&gt;
Related issues&lt;br /&gt;
&lt;br /&gt;
* Issue 3034&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMesh：レイヤーごとの追加 ===&lt;br /&gt;
OpenFOAM v2206リリースでは、snappyHexMeshが拡張され、nOuterIterエントリーを使用して複数パスでレイヤーを追加できるようになりました。ここでは、$FOAM_TUTORIALS/incompressible/pisoFoam/LES/motorBike/motorBikeチュートリアルを出発点として、どのように改良されたレイヤーの追加を実行できるかをデモしたいと思います：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
relativeSizes false; // true&lt;br /&gt;
&lt;br /&gt;
// Per final patch (so not geometry!) the layer information&lt;br /&gt;
layers&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;(lowerWall|motorBike).*&amp;quot;&lt;br /&gt;
    {&lt;br /&gt;
        nSurfaceLayers 16;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Expansion factor for layer mesh&lt;br /&gt;
expansionRatio 1.2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;重要な設定は、外側の反復回数とメッシュ・モーション・ソルバーである：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
// Overall max number of layer addition iterations&lt;br /&gt;
nLayerIter      25;&lt;br /&gt;
&lt;br /&gt;
// Add layers in multiple passes - gives layers a chance to rotate&lt;br /&gt;
nOuterIter      4;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
meshShrinker    displacementMotionSolver;&lt;br /&gt;
solver          displacementLaplacian;&lt;br /&gt;
displacementLaplacianCoeffs&lt;br /&gt;
{&lt;br /&gt;
    diffusivity quadratic inverseDistance (lowerWall upperWall &amp;quot;motorBike*&amp;quot;)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;メッシュの品質基準を緩めることで、（全体的なメッシュ品質は維持したまま）この複雑な形状でもレイヤーカバレッジを劇的に向上させることができる。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/snappyHexMesh/addLayersToFaceZone&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C&lt;br /&gt;
&lt;br /&gt;
=== Nastranサーフェスリーダーの改良 ===&lt;br /&gt;
NASTRANパーサーが更新され、PSHELL名の新しいANSA規約に対応しました。これにより、snappyHexMeshなど、より多くの場所でNASTRANファイルを直接使用することができるようになりました。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Issue 3009&lt;br /&gt;
&lt;br /&gt;
=== checkMeshユーティリティの改良 ===&lt;br /&gt;
checkMesh ユーティリティに writeChecks オプションが追加されました：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
checkMesh -writeChecks &amp;lt;format&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これにより、メッシュ・チェックのフォーマットを含むファイルが生成される：&lt;br /&gt;
&lt;br /&gt;
* dictionary : OpenFOAM dictionary;&lt;br /&gt;
* json : JSON format.&lt;br /&gt;
&lt;br /&gt;
例えば、コマンドを使う：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
checkMesh -allGeometry -allTopology -writeChecks JSON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;motorBikeチュートリアルでは、caseディレクトリにcheckMesh.jsonファイルが生成される：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;maxNonOrth&amp;quot; : 64.9999,&lt;br /&gt;
    &amp;quot;aveNonOrth&amp;quot; : 9.92427,&lt;br /&gt;
    &amp;quot;maxSkew&amp;quot; : 9.25719,&lt;br /&gt;
    &amp;quot;nWarnSkew&amp;quot; : 12,&lt;br /&gt;
    &amp;quot;minDeterminant&amp;quot; : 0,&lt;br /&gt;
    &amp;quot;aveDeterminant&amp;quot; : 1.55371,&lt;br /&gt;
    &amp;quot;thresholdDeterminant&amp;quot; : 0.001,&lt;br /&gt;
    &amp;quot;nErrorDeterminant&amp;quot; : 1274,&lt;br /&gt;
    &amp;quot;minFaceWeight&amp;quot; : 0.0216708,&lt;br /&gt;
    &amp;quot;aveFaceWeight&amp;quot; : 0.465687,&lt;br /&gt;
    &amp;quot;thresholdFaceWeight&amp;quot; : 0.05,&lt;br /&gt;
    &amp;quot;nErrorFaceWeight&amp;quot; : 1143,&lt;br /&gt;
    &amp;quot;minFaceVolumeRatio&amp;quot; : 0.0101126,&lt;br /&gt;
    &amp;quot;aveFaceVolumeRatio&amp;quot; : 0.846049&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_UTILITIES/mesh/manipulation/checkMesh/checkMesh.C&lt;br /&gt;
&lt;br /&gt;
=== subsetMeshユーティリティの改良 ===&lt;br /&gt;
subsetMesh ユーティリティが更新され、通常の -patches 選択を変更する -exclude-patches オプションを受け付けるようになりました。&lt;br /&gt;
&lt;br /&gt;
この変更により、最も近い露出パッチの指定が簡単になりました。&lt;br /&gt;
&lt;br /&gt;
== Numerics ==&lt;br /&gt;
&lt;br /&gt;
=== コミュニティへの貢献 随伴形状最適化の改善 ===&lt;br /&gt;
形状最適化のための感度微分を計算するためのE-SIとFI定式化間の整合性が改善されました。naca0012/laminar/moment/primalAdjointチュートリアルから取得した、変更前後のコード動作の例を以下に示します：&lt;br /&gt;
&lt;br /&gt;
一貫した点／面の感度マップ&lt;br /&gt;
&lt;br /&gt;
v2306とv2312で計算されたドラッグ感度マップを比較すると、a)新しいポイント-フェイス補間は、生の、つまり平滑化されていない感度でも、より滑らかな結果を生成する。&lt;br /&gt;
&lt;br /&gt;
さらなる改善点は以下の通り：&lt;br /&gt;
&lt;br /&gt;
* 不必要に新しいアドジョイントフィールドを割り当てることなく幾何学的制約を定義するための新しいアドジョイントソルバ（null）と目的関数（geometric）タイプ&lt;br /&gt;
&lt;br /&gt;
* 不等式制約のある最適化問題に取り組むための3つの新しい更新法（ISQP, nullSpace, MMA）&lt;br /&gt;
* 設計変数に境界を導入。ボリューメトリックBスプラインの場合、最適化を通してメッシュの品質をより良く保つことができます。&lt;br /&gt;
* 最適化ループの収束基準の導入。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/shapeOptimisation/naca0012/laminar/multipleConstraints&lt;br /&gt;
&lt;br /&gt;
Guide&lt;br /&gt;
&lt;br /&gt;
* The updated user guide for v2312 can be found here&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* Merge request MR!649&lt;br /&gt;
* Overhaul of the adjoint library to ease extension to flow physics other than incompressible flows - see Commit 9a89fcc0 for details;&lt;br /&gt;
* Corrections/improvements to shape optimisation - see Commit 9a89fcc0 for details.&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* The software was developed by PCOpt/NTUA and FOSS GP&lt;br /&gt;
* Integration in collaboration with OpenCFD&lt;br /&gt;
&lt;br /&gt;
=== コミュニティへの貢献 トポロジーに基づく新しいアジョイント最適化 ===&lt;br /&gt;
OpenFOAM v2312では、空隙率ベースまたはレベルセットアプローチによる新しいトポロジー最適化機能が追加されました。どちらも、設計されたジオメトリをSTLとしてエクスポートする機能を備えており、製造やボディフィットグリッドによる再評価に利用できます。&lt;br /&gt;
&lt;br /&gt;
空隙率ベースのアプローチは、計算領域の非生産的な部分を固めることでブロックする設計変数の場（人工空隙率α）に依存する。得られた解の平滑性を高めるために、正則化方程式を解いて中間場α̃を計算し、次にシャープニング/プロジェクションステップを経てほぼ二値の場βを計算します。後者は、固化した領域（すなわちβ≈1の領域）で流れ解をゼロにするソース項を流れ方程式に導入するために使用されます。上記のプロセスの手順を以下に示す。&lt;br /&gt;
&lt;br /&gt;
次の表は、同じケースの3つの異なるバリエーション、すなわち、Jpt＜Jpttarget制約（右）の下で、総圧力損失（Jpt）の最小化（左）、下部出口と右出口間の体積流量の均等配分制約（Jm）を伴うJptの最小化（中央）、および流れの均一性（Jun）の最大化（右）に対するトポロジー最適化の結果を示している。&lt;br /&gt;
&lt;br /&gt;
ケースは、adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/BPにあります。&lt;br /&gt;
&lt;br /&gt;
次の表は、同様の目的関数と制約関数を持つ3次元多様体のトポロジー最適化の結果を示しています。最初の行は、最適化サイクル中の計算領域の流体部分と固体部分の境界の進行を示し、最後の行は、最適化された3つの形状のSTLファイルを示しています。後者の生成プロセスは自動化されており、各最適化サイクルの終了時に実行されます。これらのSTLファイルは、適切な境界条件によるボディフィットシミュレーションや、その後の形状最適化、さらには製造に使用することができます。&lt;br /&gt;
&lt;br /&gt;
ケースはtopologyOptimisation/monoFluidAero/laminar/3DBoxにあります。&lt;br /&gt;
&lt;br /&gt;
==== 下位互換性 ====&lt;br /&gt;
optimisationDict.optimisationの項目が少し変わりました。この変更は、例えば、$FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/shapeOptimisation/motorBikeのoptimisationDictを以前のものと比較することで確認できます。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/topologyOptimisation&lt;br /&gt;
&lt;br /&gt;
Guide&lt;br /&gt;
&lt;br /&gt;
* The updated user guide for v2312 can be found here&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* Merge request MR!649&lt;br /&gt;
* Overhaul of the adjoint library to ease extension to flow physics other than incompressible flows - see Commit 9a89fcc0 for details;&lt;br /&gt;
* Corrections/improvements to shape optimisation - see Commit 9a89fcc0 for details.&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* The software was developed by PCOpt/NTUA and FOSS GP&lt;br /&gt;
* Integration in collaboration with OpenCFD&lt;br /&gt;
&lt;br /&gt;
== Solvers and physical models ==&lt;br /&gt;
&lt;br /&gt;
=== fvOptionsの改良：ポイントの移動 ===&lt;br /&gt;
有限体積オプション（fvOptions）フレームワークが改良されました：&lt;br /&gt;
&lt;br /&gt;
* 入力辞書の更新により、セル選択を実行時に更新できるようになりました。&lt;br /&gt;
* 空間内を移動する点をモデル化する新しい方法。&lt;br /&gt;
&lt;br /&gt;
最小限の使用例は以下の通り：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
fvOption1&lt;br /&gt;
{&lt;br /&gt;
    // Optional entries&lt;br /&gt;
    updateSelection         true;&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
fvOption2&lt;br /&gt;
{&lt;br /&gt;
    // Mandatory entries&lt;br /&gt;
    selectionMode   movingPoints;&lt;br /&gt;
&lt;br /&gt;
    movingPoints&lt;br /&gt;
    {&lt;br /&gt;
        point1        table&lt;br /&gt;
        (&lt;br /&gt;
            // time    position&lt;br /&gt;
            (  0 (0 0 0.75))&lt;br /&gt;
            (  1 (0 0 0.65))&lt;br /&gt;
            (  2 (0 0 0.55))&lt;br /&gt;
            (  3 (0 0 0.45))&lt;br /&gt;
            (  4 (0 0 0.35))&lt;br /&gt;
            (  5 (0 0 0.25))&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        point2        (-0.25 -0.25 0.5);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/fvOptions/cellSetOption/cellSetOption.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 630&lt;br /&gt;
&lt;br /&gt;
=== 新しい fvOption: マップされたフィールド制約 ===&lt;br /&gt;
MapFieldConstraintは、外部メッシュからのソース・フィールドを使用して、&amp;lt;Type&amp;gt;型の指定フィールドに値の制約を課します。ここで、&amp;lt;Type&amp;gt;には{scalar, vector, sphericalTensor, symmTensor, tensor}を指定できます。オプションとして、ソースフィールドは時間経過とともに平行移動または回転させることができます。&lt;br /&gt;
&lt;br /&gt;
考えられる用途は、例えば、移動する電気源の影響をモデル化することである。最小限の使用例を以下に示す：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
MapFieldConstraint1&lt;br /&gt;
{&lt;br /&gt;
    // Mandatory entries&lt;br /&gt;
    type                MapFieldConstraint;&lt;br /&gt;
    field               &amp;lt;word&amp;gt;;&lt;br /&gt;
    srcMesh             &amp;lt;fileName&amp;gt;;&lt;br /&gt;
    mapMethod           &amp;lt;word&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    // Optional entries&lt;br /&gt;
    consistent          &amp;lt;bool&amp;gt;;&lt;br /&gt;
    patchMapMethod      &amp;lt;word&amp;gt;;&lt;br /&gt;
    transform&lt;br /&gt;
    {&lt;br /&gt;
        // Optional entries&lt;br /&gt;
        position    &amp;lt;Function1&amp;lt;vector&amp;gt;&amp;gt;;&lt;br /&gt;
        origin      &amp;lt;vector&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
        direction   &amp;lt;Function1&amp;lt;vector&amp;gt;&amp;gt;;&lt;br /&gt;
        normal      &amp;lt;vector&amp;gt;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Conditional entries&lt;br /&gt;
&lt;br /&gt;
        // when consistent=false&lt;br /&gt;
        patchMap        &amp;lt;HashTable&amp;lt;word&amp;gt;&amp;gt;;  // (&amp;lt;patchSrc&amp;gt; &amp;lt;patchTgt&amp;gt;);&lt;br /&gt;
        cuttingPatches  &amp;lt;wordList&amp;gt;;  // (&amp;lt;patchTgt1&amp;gt; ... &amp;lt;patchTgtN&amp;gt;);&lt;br /&gt;
&lt;br /&gt;
    // Inherited entries&lt;br /&gt;
&lt;br /&gt;
        ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/fvOptions/constraints/general/mapFieldConstraint/MapFieldConstraint.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 630&lt;br /&gt;
&lt;br /&gt;
=== コミュニティへの貢献：新しい乱流技術委員会サブモジュール ===&lt;br /&gt;
OpenFOAMガバナンス内のTurbulence Technical Committeeのネストされたサブモジュールを含む新しいコミュニティサブモジュールが開始されました。このサブモジュールは、公開されている Turbulence Technical Committee のリポジトリでホストされています。&lt;br /&gt;
&lt;br /&gt;
コミュニティ・サブモジュールは、乱流モデリングに関連する学術的・産業的な貢献のホストとして機能し、知識交換の場を作り、この分野とOpenFOAMの両方を発展させるコラボレーションを促進します。&lt;br /&gt;
&lt;br /&gt;
BitbucketやGitHubのようなGitベースのソースコード・リポジトリ・ホスティング・サービスでホストし、このサブモジュールを介してOpenFOAMソフトウェアにリンクすることができます。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、サブモジュールにlibWallModelledLESライブラリーが組み込まれ、壁面モデルによるラージ・エディ・シミュレーション（WMLES）の領域でOpenFOAMの機能が拡張されました。この乱流モデリング手法は、乱流境界層の内部領域の解像度を回避することで、費用対効果の高いLESを可能にします。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $WM_PROJECT_DIR/modules/turbulence-community&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* OpenCFD would like to acknowledge and thank Turbulence Technical Committee members for their contributions and help.&lt;br /&gt;
&lt;br /&gt;
=== 改善されたラグランジュ・ブラウン運動 ===&lt;br /&gt;
このバージョンでは、ブラウン運動の3次分布のサポートが復活しました。しかし、特に指定がない限り、（互換性のために）デフォルトの球形分布が引き続き使用されます。&lt;br /&gt;
&lt;br /&gt;
このバージョンでは、ブラウン運動の3次分布のサポートが復活しました。&lt;br /&gt;
&lt;br /&gt;
しかし、特に指定がない限り、適度に小さな時間ステップでは不正確であるにもかかわらず、（互換性のために）デフォルトの球面処理が引き続き使用されます。&lt;br /&gt;
&lt;br /&gt;
三次分布は、球面処理が明示的に無効化されている場合に使用される。例えば&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
subModels&lt;br /&gt;
{&lt;br /&gt;
    particleForces&lt;br /&gt;
    {&lt;br /&gt;
        sphereDrag;&lt;br /&gt;
        BrownianMotion&lt;br /&gt;
        {&lt;br /&gt;
            lambda     2e-10;&lt;br /&gt;
            turbulence false;&lt;br /&gt;
            spherical  false;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;立方体分布と球形分布の違いは次の図に見られる。&lt;br /&gt;
&lt;br /&gt;
変更の報告、検証、テストはGuanyang Xueの好意によるものである。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.H&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Issue 2922&lt;br /&gt;
&lt;br /&gt;
Merge request 634&lt;br /&gt;
&lt;br /&gt;
== Post-processing ==&lt;br /&gt;
&lt;br /&gt;
=== 新しいAbaqusサンプルセット ===&lt;br /&gt;
新しい abaqusMesh セットは、Abaqus メッシュポイント形式を使用してファイルからサンプル位置を導出します。使用例：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
sets&lt;br /&gt;
{&lt;br /&gt;
    cone25 // user-specified set name&lt;br /&gt;
    {&lt;br /&gt;
        type        abaqusMesh;&lt;br /&gt;
        file        &amp;quot;abaqusMesh.inp&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        // Optional entries&lt;br /&gt;
&lt;br /&gt;
        // Scale, e.g. mm to m&lt;br /&gt;
        scale       0.001;&lt;br /&gt;
&lt;br /&gt;
        // Search distance when the sample point is not located in a cell&lt;br /&gt;
        maxDist     0.25;&lt;br /&gt;
&lt;br /&gt;
        ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Tutorials&lt;br /&gt;
&lt;br /&gt;
* TBA&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/sampling/sampledSet/abaqus&lt;br /&gt;
&lt;br /&gt;
=== 新しいAbaqusセットライター ===&lt;br /&gt;
新しいAbaqusセットライターはOpenFOAMセットデータをAbaqusフォーマットに変換します。使用例&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
T&lt;br /&gt;
{&lt;br /&gt;
    type sets;&lt;br /&gt;
    setFormat abaqus;&lt;br /&gt;
    fields (T);&lt;br /&gt;
    sets&lt;br /&gt;
    {&lt;br /&gt;
        ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;オプションの書式オプションは、formatOptions辞書内のabaqusサブ辞書で提供されます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
formatOptions&lt;br /&gt;
{&lt;br /&gt;
    abaqus&lt;br /&gt;
    {&lt;br /&gt;
        format      ascii;&lt;br /&gt;
&lt;br /&gt;
        // Optional entries&lt;br /&gt;
&lt;br /&gt;
        // Custom header: $ entries are substituions&lt;br /&gt;
        header&lt;br /&gt;
        (&lt;br /&gt;
            &amp;quot;** OpenFOAM abaqus output&amp;quot;&lt;br /&gt;
            &amp;quot;** Project $FOAM_CASE&amp;quot;&lt;br /&gt;
            &amp;quot;** File $FILE_NAME&amp;quot;&lt;br /&gt;
            &amp;quot;** $FIELD_NAME Time t=$TIME&amp;quot;&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        // Write geometry in addition to field data&lt;br /&gt;
        writeGeometry yes;&lt;br /&gt;
&lt;br /&gt;
        // Null value when sample value is not found&lt;br /&gt;
        // Default is scalar::min&lt;br /&gt;
        nullValue   0;&lt;br /&gt;
&lt;br /&gt;
        // Insert additional time sub-directory in the output path&lt;br /&gt;
        // - yes : postProcessing/&amp;lt;fo-name&amp;gt;/&amp;lt;time&amp;gt;/&amp;lt;file&amp;gt;&lt;br /&gt;
        // - no : postProcessing/&amp;lt;fo-name&amp;gt;/&amp;lt;file&amp;gt;&lt;br /&gt;
        useTimeDir  no;&lt;br /&gt;
&lt;br /&gt;
        // Available when 'useTimeDir' is 'no' to disambiguate file names&lt;br /&gt;
&lt;br /&gt;
        // Time base for output file names:&lt;br /&gt;
        // - 'time' : &amp;lt;base&amp;gt;.inp_&amp;lt;field&amp;gt;.&amp;lt;time&amp;gt;&lt;br /&gt;
        // - 'iteration' : &amp;lt;base&amp;gt;.inp_&amp;lt;field&amp;gt;.&amp;lt;iteration&amp;gt;&lt;br /&gt;
        timeBase    iteration;&lt;br /&gt;
&lt;br /&gt;
        // Optional start counters when using timeBase iteration&lt;br /&gt;
        writeIndex&lt;br /&gt;
        (&lt;br /&gt;
            T 1&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Tutorials&lt;br /&gt;
&lt;br /&gt;
* TBA&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/meshTools/coordSet/writers/abaqus/abaqusCoordSetWriter.C&lt;br /&gt;
&lt;br /&gt;
=== パッチ・シード・セットの改善 ===&lt;br /&gt;
patchSeed sampled setがパッチ全体で一様にサンプルシードを計算するようになりました。以前の実装では、顔のインデックスをパッチ全体で一様にサンプリングしていましたが、その副作用として、より小さな顔に偏りがありました。&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
streamline5&lt;br /&gt;
{&lt;br /&gt;
    type                streamLine;&lt;br /&gt;
    libs                (fieldFunctionObjects);&lt;br /&gt;
    U                   U;&lt;br /&gt;
    fields              (U p);&lt;br /&gt;
    setFormat           vtk;&lt;br /&gt;
    direction           forward;&lt;br /&gt;
    lifeTime            20000;&lt;br /&gt;
    cloud               particleTracks;&lt;br /&gt;
    seedSampleSet&lt;br /&gt;
    {&lt;br /&gt;
        type            patchSeed;&lt;br /&gt;
        axis            xyz;&lt;br /&gt;
        patches         (&amp;quot;inlet1&amp;quot;);&lt;br /&gt;
        maxPoints       40;&lt;br /&gt;
    }&lt;br /&gt;
    interpolationScheme cellPoint;&lt;br /&gt;
    trackLength         0.001;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/simpleFoam/motorBike/system/wallBoundedStreamLines&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/sampling/sampledSet/patchSeed&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 647&lt;br /&gt;
&lt;br /&gt;
=== 新しいケース情報機能オブジェクト ===&lt;br /&gt;
新しい caseInfo 関数オブジェクトは、実行時または後処理の一部として、ソルバーとケースの情報を生成します。収集されるデータには以下が含まれます：&lt;br /&gt;
&lt;br /&gt;
* メタデータ：ケース名、パス、タイムディレクトリ数など。&lt;br /&gt;
* 辞書エントリ : 任意の入力辞書からすべて/選択したものを抽出&lt;br /&gt;
** fvSolutionからUリニアソルバーを取得するには、'solvers/U/solver'などのスコープを使用する。&lt;br /&gt;
** はワイルドカードをサポートしている。例えば、fvSolution U ソルバー・キーワードが&amp;quot;(U|k|epsilon) &amp;quot;であった場合。&lt;br /&gt;
** include'または'exclude'リストを使用して、含める/除外するエントリ名の選択を制限する。&lt;br /&gt;
* メッシュ統計：点、面、セルの数、境界、ゾーン名など。&lt;br /&gt;
* 関数オブジェクトの結果：関数オブジェクトの結果のキャッシュ値など&lt;br /&gt;
&lt;br /&gt;
使用例：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
caseInfo1&lt;br /&gt;
{&lt;br /&gt;
    type        caseInfo;&lt;br /&gt;
    libs        (utilityFunctionObjects);&lt;br /&gt;
&lt;br /&gt;
    writeFormat json; // josn | dictionary&lt;br /&gt;
&lt;br /&gt;
    // List of dictionaries - retrieve using 'path' or registered 'name'&lt;br /&gt;
    dictionaries&lt;br /&gt;
    {&lt;br /&gt;
        fvSolution&lt;br /&gt;
        {&lt;br /&gt;
            name        &amp;quot;fvSolution&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
            // include all entries by default&lt;br /&gt;
        }&lt;br /&gt;
        controlDict&lt;br /&gt;
        {&lt;br /&gt;
            path        &amp;quot;system/controlDict&amp;quot;;&lt;br /&gt;
            include&lt;br /&gt;
            (&lt;br /&gt;
                &amp;quot;application&amp;quot;&lt;br /&gt;
                &amp;quot;deltaT&amp;quot;&lt;br /&gt;
                &amp;quot;startTime&amp;quot;&lt;br /&gt;
                &amp;quot;endTime&amp;quot;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Extract function object results&lt;br /&gt;
    functionObjects (pressureDifference sample1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;出力例&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;meta&amp;quot; : {&lt;br /&gt;
        &amp;quot;case&amp;quot; : &amp;quot;heatExchanger&amp;quot;,&lt;br /&gt;
        &amp;quot;path&amp;quot; : &amp;quot;chtMultiRegionSimpleFoam/heatExchanger&amp;quot;,&lt;br /&gt;
        &amp;quot;regions&amp;quot; : [&amp;quot;air&amp;quot;, &amp;quot;porous&amp;quot;],&lt;br /&gt;
        &amp;quot;nTimes&amp;quot; : 7,&lt;br /&gt;
        &amp;quot;nProc&amp;quot; : 1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;regions&amp;quot; : {&lt;br /&gt;
        &amp;quot;air&amp;quot; : {&lt;br /&gt;
            &amp;quot;mesh&amp;quot; : {&lt;br /&gt;
                &amp;quot;nGeometricD&amp;quot; : 3,&lt;br /&gt;
                &amp;quot;nSolutionD&amp;quot; : 3,&lt;br /&gt;
                &amp;quot;nPoints&amp;quot; : 252991,&lt;br /&gt;
                &amp;quot;nFaces&amp;quot; : 739260,&lt;br /&gt;
                &amp;quot;nCells&amp;quot; : 243000,&lt;br /&gt;
                &amp;quot;nPatches&amp;quot; : 4,&lt;br /&gt;
                &amp;quot;pointZones&amp;quot; : [],&lt;br /&gt;
                &amp;quot;faceZones&amp;quot; : [&amp;quot;rotorBlades&amp;quot;, &amp;quot;baffleFaces&amp;quot;],&lt;br /&gt;
                &amp;quot;cellZones&amp;quot; : [&amp;quot;cylinder&amp;quot;, &amp;quot;innerCylinder&amp;quot;, &amp;quot;rotor&amp;quot;],&lt;br /&gt;
                &amp;quot;boundsMin&amp;quot; : [0, 0, 0],&lt;br /&gt;
                &amp;quot;boundsMax&amp;quot; : [5.000000e-01, 5.000000e-01, 5.000000e-01],&lt;br /&gt;
                &amp;quot;clouds&amp;quot; : []&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;boundary&amp;quot; : {&lt;br /&gt;
                &amp;quot;types&amp;quot; : {&lt;br /&gt;
                    &amp;quot;walls&amp;quot; : &amp;quot;wall&amp;quot;,&lt;br /&gt;
                    &amp;quot;inlet&amp;quot; : &amp;quot;patch&amp;quot;,&lt;br /&gt;
                    &amp;quot;outlet&amp;quot; : &amp;quot;patch&amp;quot;,&lt;br /&gt;
                    &amp;quot;blades&amp;quot; : &amp;quot;wall&amp;quot;&lt;br /&gt;
                },&lt;br /&gt;
                &amp;quot;fields&amp;quot; : {&lt;br /&gt;
                    &amp;quot;alphat&amp;quot; : {&lt;br /&gt;
                        &amp;quot;walls&amp;quot; : &amp;quot;compressible::alphatWallFunction&amp;quot;,&lt;br /&gt;
                        &amp;quot;inlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;outlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;blades&amp;quot; : &amp;quot;compressible::alphatWallFunction&amp;quot;&lt;br /&gt;
                    },&lt;br /&gt;
                    &amp;quot;nut&amp;quot; : {&lt;br /&gt;
                        &amp;quot;walls&amp;quot; : &amp;quot;nutkWallFunction&amp;quot;,&lt;br /&gt;
                        &amp;quot;inlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;outlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;blades&amp;quot; : &amp;quot;nutkWallFunction&amp;quot;&lt;br /&gt;
                    },&lt;br /&gt;
                    &amp;quot;p&amp;quot; : {&lt;br /&gt;
                        &amp;quot;walls&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;inlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;outlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;blades&amp;quot; : &amp;quot;calculated&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/utilities/caseInfo&lt;br /&gt;
&lt;br /&gt;
== DMDによる新しい低次モデリング磁場再構成 ==&lt;br /&gt;
動的モード分解（DMD）機能は、OpenFOAM v2006で導入され、その後OpenFOAM v2106で拡張されました。このリリースにより、OpenFOAMは、DMDの主な利点の1つである、任意の中間時点や将来の時点におけるCFD計算を必要とせずに、与えられたモードとそれに関連するダイナミクスに基づいて場を生成する機能を習得しました。&lt;br /&gt;
&lt;br /&gt;
この機能により、ユーザーはシミュレーション全体をいくつかのモードとモードダイナミクスに凝縮し、CFD解析を追加することなく、任意の時間における場の生成や将来の状態の予測を行うことができます。&lt;br /&gt;
&lt;br /&gt;
もう一つの潜在的な利点は、ユーザーがシミュレーションを短縮し、大規模なシミュレーションを行うことなく流れ場の将来の状態を予測できることである。これは、より短時間のシミュレーションで得られたモードとモードダイナミクスを使用することで実現できます。&lt;br /&gt;
&lt;br /&gt;
結果の質は、基礎となる縮小モデルの能力と入力データの質に依存することに留意すべきである。再構成結果を改善するためには、流れからモードが正しく抽出されていることを確認する必要がある。&lt;br /&gt;
&lt;br /&gt;
system/ROMfieldsDictを使った最小の例は以下の通り：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
// Mandatory entries&lt;br /&gt;
ROMmodel        &amp;lt;word&amp;gt;;&lt;br /&gt;
field           &amp;lt;word&amp;gt;;&lt;br /&gt;
object          &amp;lt;word&amp;gt;;&lt;br /&gt;
deltaT          &amp;lt;scalar&amp;gt;;&lt;br /&gt;
time            &amp;lt;scalar&amp;gt;;&lt;br /&gt;
modes           &amp;lt;labelList&amp;gt;;&lt;br /&gt;
amplitudes      &amp;lt;complexList&amp;gt;;&lt;br /&gt;
eigenvalues     &amp;lt;complexList&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
// Optional entries&lt;br /&gt;
startTime       &amp;lt;scalar&amp;gt;;&lt;br /&gt;
dimensions      &amp;lt;dimensionSet&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
// Inherited entries&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;下の図は、2次元円柱チュートリアルから得られた速度場と、シミュレーションを実行せずにDMDモードとダイナミクスを使用して再構成したものです：&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_UTILITIES/postProcessing/miscellaneous/createROMfields/createROMfields.C&lt;br /&gt;
* $FOAM_UTILITIES/postProcessing/miscellaneous/createROMfields/ROMmodels/DMD/DMD.H&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/pimpleFoam/laminar/cylinder2D&lt;br /&gt;
&lt;br /&gt;
References&lt;br /&gt;
&lt;br /&gt;
* Kiewat, M. (2019). Streaming modal decomposition approaches for vehicle aerodynamics. PhD thesis. Munich: Technical University of Munich. URL:mediatum.ub.tum.de/doc/1482652/1482652.pdf&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* OpenCFD would like to acknowledge and thank Marco Kiewat for his contributions, elaborate suggestions and help, and critical recommendations.&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 639&lt;br /&gt;
&lt;br /&gt;
=== ノイズ・ユーティリティの向上 ===&lt;br /&gt;
ノイズユーティリティは、時間情報からのデフォルトの自動計算だけでなく、ユーザー定義のサンプリング周波数（キーワード：sampleFreq）もサポートするようになりました。読みやすさを向上させるため、周波数の上限と下限をminFreqとmaxFreqで指定できるようになりました（以前のキーワードも引き続きサポートされています）。&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
// Lower frequency limit, default 25 Hz, former name 'fl'&lt;br /&gt;
minFreq 25;&lt;br /&gt;
&lt;br /&gt;
// Upper frequency limit, default 10 kHz, former name 'fu'&lt;br /&gt;
maxFreq 10000;&lt;br /&gt;
&lt;br /&gt;
// OPTIONAL - Sample frequency&lt;br /&gt;
sampleFreq 100;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;サンプリングされた時間から周波数を計算する際に時間が不均一であると評価された場合、deltaT が非常に小さい場合、不均一性は多くの場合偽のエラーであるため、ユーティリティはエラーではなく警告を発するようになりました。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/surfMesh/writers/ensight/ensightSurfaceWriter.H&lt;br /&gt;
* $FOAM_SRC/randomProcesses/noise/noiseModels/noiseModel/noiseModel.H&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS//incompressible/pimpleFoam/LES/vortexShed&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Issue 2999&lt;br /&gt;
&lt;br /&gt;
=== エンサイトの出力向上 ===&lt;br /&gt;
EnSightライターの時間値は、デフォルトの固定フォーマットと精度を使用する代わりに、ユーザーが指定できるようになりました。例えば&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
formatOptions&lt;br /&gt;
{&lt;br /&gt;
    ensight&lt;br /&gt;
    {&lt;br /&gt;
        timeFormat      general; // Format for time directory names (general | fixed | scientific); default scientific&lt;br /&gt;
        timePrecision   12;      // Default = 5&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これらの新しいフォーマットオプションは、例えばノイズユーティリティの圧力サンプリングと組み合わせて、小さなタイムステップを使用する場合に特に便利です。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/surfMesh/writers/ensight/ensightSurfaceWriter.H&lt;br /&gt;
* $FOAM_SRC/functionObjects/utilities/ensightWrite/ensightWrite.H&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Merge request 634&lt;br /&gt;
&lt;br /&gt;
=== 新しいラグランジュ関数オブジェクト ウェーバー数 ===&lt;br /&gt;
表面張力と比較した粒子の慣性の相対的な重要性を監視するために、ラグランジュ関数オブジェクトWeberNumberが運動学小包に導入されています。&lt;br /&gt;
&lt;br /&gt;
最小限の使用例は以下の通り：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cloudFunctions&lt;br /&gt;
{&lt;br /&gt;
    KinematicWeberNumber1&lt;br /&gt;
    {&lt;br /&gt;
        // Mandatory entries&lt;br /&gt;
        type             WeberNumber;&lt;br /&gt;
        sigma            &amp;lt;scalar&amp;gt;;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/lagrangian/intermediate/submodels/CloudFunctionObjects/KinematicWeberNumber/KinematicWeberNumber.H&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/lagrangian/kinematicParcelFoam/spinningDisk&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 648&lt;br /&gt;
&lt;br /&gt;
=== 空のサーフェス（surfaceFieldValue）の取り扱いが改善されました。 ===&lt;br /&gt;
ワークフローによっては、サンプリングされたサーフェスが、シミュレーション中に現れたり消えたりするフェイスゾーンなどの量に依存する場合があります。そのため、空のサーフェスでサーフェスフィールドの値を評価することは、通常、セットアップに重大なエラーがあることを示しますが、このようなことが予想される場合もあります。追加キーワードempty-surfaceにより、空のサーフェスに遭遇したときの動作を指定することができます。&lt;br /&gt;
&lt;br /&gt;
最小限の例：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
surfaceFieldValueFaceZone1&lt;br /&gt;
{&lt;br /&gt;
    type            surfaceFieldValue;&lt;br /&gt;
    libs            (fieldFunctionObjects);&lt;br /&gt;
    ...&lt;br /&gt;
    regionType      faceZone;&lt;br /&gt;
&lt;br /&gt;
    empty-surface   warn;  // default | warn | ignore | strict&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.H&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Issue 2966&lt;br /&gt;
&lt;br /&gt;
== Parallel ==&lt;br /&gt;
&lt;br /&gt;
=== 結合パッチフィールド値の一貫性 ===&lt;br /&gt;
結合された制約境界条件、例: プロセッサーとサイクリックは、その内部フィールド値と一致している必要があります。 たとえば、プロセッサ パッチでは、値フィールドに隣接するプロセッサ セルの値が含まれます。つまり、反対側のセルの値がキャッシュされます。 他の結合されたパッチ フィールドは、ローカルおよび隣接セル値の補間値を値として持つ場合があります。 経験則として、セル値を変更するコードはすべて、たとえば、 勾配計算では、値の更新を実行するために境界条件を修正する呼び出しを行う必要があります (プロセッサ境界フィールドでのハロー スワップに相当します)。 ただし、「ローカル」操作の場合、たとえば 乗算では、境界条件に値のみがあり、セル値に依存しない場合、これがスキップされることがあります。 ほとんどの「通常の」境界条件はこのカテゴリに分類されます。&lt;br /&gt;
&lt;br /&gt;
結合境界条件の場合、プロセッサのパッチ フィールドにも適用されますが、たとえば、パッチ フィールドには適用されません。 環状、環状AMI のバリアント。 これにより、中間計算の値が一貫性制約に従わなくなります。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、制約パッチの値がいつでも最新であるように、ローカル操作の後の評価を強制しています。この選択はまだ調査中であり、将来更新される可能性があることに注意してください。&lt;br /&gt;
&lt;br /&gt;
=== patchField の整合性チェックの結合 ===&lt;br /&gt;
ビジュアルコードのチェックで、meshWaveメソッドとmeshWaveAddressingメソッドによって返される壁面距離フィールドが平行一貫していないことが確認されました。このようなエラーを発見しやすくするために、オプションで整合性チェックが追加されました：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
DebugSwitches&lt;br /&gt;
{&lt;br /&gt;
    volScalarField::Boundary            1;&lt;br /&gt;
    volVectorField::Boundary            1;&lt;br /&gt;
    volSphericalTensorField::Boundary   1;&lt;br /&gt;
    volSymmTensorField::Boundary        1;&lt;br /&gt;
    volTensorField::Boundary            1;&lt;br /&gt;
&lt;br /&gt;
    areaScalarField::Boundary           1;&lt;br /&gt;
    areaVectorField::Boundary           1;&lt;br /&gt;
    areaSphericalTensorField::Boundary  1;&lt;br /&gt;
    areaSymmTensorField::Boundary       1;&lt;br /&gt;
    areaTensorField::Boundary           1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;1 を指定するとチェックが有効になり、チェックに失敗すると FatalError が発生する。特に FOAM_ABORT と組み合わせることで、スタックトレースを生成することができます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
FOAM_ABORT=true mpirun -np 2 simpleFoam -parallel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;デバッグ・スイッチはビットマップとして解釈される：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!bit&lt;br /&gt;
!value(2^bit)&lt;br /&gt;
!effect&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|ローカル操作ごとにチェックを加える&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|2&lt;br /&gt;
|プリントの入力と終了をチェックする&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|4&lt;br /&gt;
|fatalErrorの代わりにwarning&lt;br /&gt;
|}&lt;br /&gt;
比較の許容誤差はデフォルトで0に設定されている。プロセッサのハロースワップでは、まったく同じ操作がまったく同じ順序で実行されるため、許容誤差の問題はありません。しかし、サイクリックやサイクリックAMIなどの「補間」結合境界条件では、ローカル演算（定数による乗算など）が補間後に実行されるため、若干異なる切り捨て誤差が発生します。この場合、許容誤差をオーバーライドすることができます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
OptimisationSwitches&lt;br /&gt;
{&lt;br /&gt;
    volScalarField::Boundary::tolerance           1e-10;&lt;br /&gt;
    // .. and similar for all the other field types ..&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 下位互換性 ====&lt;br /&gt;
新しい整合性操作は、周期的または周期的AMI境界条件、または結合境界条件を使用する非自明な乱流モデルを使用するケースの動作をわずかに変更します。&lt;br /&gt;
&lt;br /&gt;
オプションとして、etc/controlDictのlocalConsistency設定をオーバーライドすることで、この振る舞いを以前の（一貫性のない！）形に戻すことができる：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
OptimisationSwitches&lt;br /&gt;
{&lt;br /&gt;
    //- Enable enforced consistency of constraint bcs after 'local' operations.&lt;br /&gt;
    //  Default is on. Set to 0/false to revert to &amp;lt;v2306 behaviour&lt;br /&gt;
    localConsistency 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;簡単なテストはcyclicAMIパッチを使ったチュートリアル、例えばpipeCyclicチュートリアルです。上記のDebugSwitchでチェックを有効にすると問題なく動作しますが、localConsistencyフラグを無効にすると不整合が検出されます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[0] --&amp;gt; FOAM FATAL ERROR: (openfoam-2302 patch=230110)&lt;br /&gt;
[0] Field dev(symm(grad(U))) is not evaluated? On patch side1 type cyclicAMI : average of field = ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Related issues&lt;br /&gt;
&lt;br /&gt;
* Issue 2783&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 628&lt;br /&gt;
&lt;br /&gt;
==== ノンブロッキング環状A(C)MI ====&lt;br /&gt;
cyclicAMI境界条件は、複数の隣接する面からの面積加重補間を実装します。これらの面はローカルであることも、リモートプロセッサに存在することもあり、並列通信を必要とします。&lt;br /&gt;
&lt;br /&gt;
以前のリリースでは、それぞれのcyclicAMIの評価または線形ソルバーの行列寄与（ローカルでない隣接面の場合）が、独自の通信セットをトリガーし、次のcyclicAMIまたはプロセッサパッチに進む前に、これらの終了を待っていました。このリリースでは、すべての送受信を開始するプロセッサパッチと同様の経路をたどり、ローカル値を更新するためにリモートデータを使用する「消費」フェーズがあります。典型的な境界条件の評価や線形ソルバーの更新は、次のような形になります：&lt;br /&gt;
&lt;br /&gt;
* すべての initEvaluate/initInterfaceMatrixUpdate を行う（結合境界のみ）。プロセッサ、cyclicA(C)MI の場合、これはノンブロッキングの送受信を開始する。&lt;br /&gt;
* すべての通信が終了するのを待つ（または、ポーリング（v2306 nPollProcInterfaces）を使用して以下と組み合わせる）。&lt;br /&gt;
* すべてのevaluate/updateInterfaceMatrixを行う。これは、受信したデータを使用して、行列解への寄与を計算します。&lt;br /&gt;
&lt;br /&gt;
cyclicA(C)MIからの通信をプロセッサの境界条件とまったく同じ方法で処理することで、ボトルネックが発生する可能性が低くなり、スケーリングが向上することが期待される。さらなる最適化として、ローカル送受信バッファは一度割り当てられ、再利用される。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 641&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* any case with &amp;lt;code&amp;gt;cyclicAMI&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;cyclicACMI&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== GAMG : プロセッサ・アグロメレーションにおけるcyclicAMIのサポート ====&lt;br /&gt;
GAMGソルバーは、ローカルアグロメレーションに加えて、プロセッサ間で行列を結合することができます（プロセッサアグロメレーション）。これは、コア数が多い場合に有益です：&lt;br /&gt;
&lt;br /&gt;
* 最も粗いレベルを解くコアの数を減らす - 世界的な削減のほとんどは、最も粗いレベルで起こる。&lt;br /&gt;
* は、スムージングやプリコンディショニングなど、すべての演算の暗黙性を高める。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、cyclicAMIやcyclicACMIなど、すべての連成境界条件のプロセッサアグロメレーションを可能にするようにフレームワークが拡張されました。&lt;br /&gt;
&lt;br /&gt;
テストとして、以下を比較した。&lt;br /&gt;
&lt;br /&gt;
* 40x10x1のブロック1つ、および&lt;br /&gt;
* 2つの20x10x1ブロックがcyclicAMIを使って結合されている。&lt;br /&gt;
&lt;br /&gt;
どちらのケースも4つに分解され、GAMGソルバーとmasterCoarsestプロセッサーのアグロメーターを併用することで、すべての行列がmaster(s)に結合された。&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
solvers&lt;br /&gt;
{&lt;br /&gt;
    p&lt;br /&gt;
    {&lt;br /&gt;
        solver                  GAMG;&lt;br /&gt;
        processorAgglomerator   masterCoarsest;&lt;br /&gt;
        ..&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* シングルブロック（つまり、cyclicAMIはなく、プロセッサーフェイスのみ）：&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
                              nCells       nInterfaces&lt;br /&gt;
   Level  nProcs         avg     max       avg     max&lt;br /&gt;
   -----  ------         ---     ---       ---     ---&lt;br /&gt;
       0       4         100     100       1.5       2&lt;br /&gt;
       1       4          50      50       1.5       2&lt;br /&gt;
       2       1         100     100         0       0&lt;br /&gt;
       3       1          48      48         0       0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;すべてのプロセッサ面が内部となるため、境界の数（nInterfaces）は0となる。&lt;br /&gt;
&lt;br /&gt;
* 2ブロックの場合（つまり、cyclicAMIとプロセッサフェイス）：&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
                              nCells         nInterfaces&lt;br /&gt;
   Level  nProcs         avg     max         avg     max&lt;br /&gt;
   -----  ------         ---     ---         ---     ---&lt;br /&gt;
       0       4         100     100           3       3&lt;br /&gt;
       1       4          50      50           3       3&lt;br /&gt;
       2       1         100     100           2       2&lt;br /&gt;
       3       1          48      48           2       2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ここでは、2つのcyclicAMIのみが保存されるため、境界の数は3つから2つに減る。&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;cyclicA(C)MI&amp;lt;/code&amp;gt; :&lt;br /&gt;
** すべての面がローカルになると、動作は非分散にリセットされる。つまり、操作は追加のコピーなしで、提供されたフィールドに直接適用される。&lt;br /&gt;
** 回転変換はまだサポートされていません。これは基本的な制限ではありませんが、変換を考慮するためにステンシルを追加で書き換える必要があります。&lt;br /&gt;
* processorCyclic : (オーナーセルと隣接セルが異なるプロセッサ上にあるサイクリック) はまだサポートされていない。これは通常のプロセッサ境界として扱われるため、変換は失われる。processorCyclicはdecomposeParDictでパッチ制約を使うことで回避できることに注意。&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
constraints&lt;br /&gt;
{&lt;br /&gt;
    patches&lt;br /&gt;
    {&lt;br /&gt;
        //- Keep owner and neighbour on same processor for faces in patches&lt;br /&gt;
        //  (only makes sense for cyclic patches and cyclicAMI)&lt;br /&gt;
        type    preservePatches;&lt;br /&gt;
        patches (cyclic);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* masterCoarsestのみがテストされているが、コードは他のどのプロセッサー凝集法もサポートするはずである。&lt;br /&gt;
* これまでの限られたテストでは、cyclicAMIのプロセッサー集積の利点は示され ていない。これは、ボトルネック、例えば、大域的削減の数や暗黙性が問題となる場合にのみ有効である。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 645&lt;br /&gt;
&lt;br /&gt;
=== redistributeParとファイルシステムの改良 ===&lt;br /&gt;
このリリースでは、照合ファイル・フォーマットの一般的なサポートが改善され、redistributeParユーティリティの調整も行われました。これらの変更により、照合ファイル形式は以前よりも幅広いワークフローで使用できるようになりました。&lt;br /&gt;
&lt;br /&gt;
これらの変更に加え、分散ファイルシステムによるダイナミックコードの取り扱いが改善された。このようなタイプのシステムでは、動的にコンパイルされたライブラリも対応するサブランクに配布されるようになった。&lt;br /&gt;
&lt;br /&gt;
==== 照合されたインクルードファイルの取り扱いが改善された ====&lt;br /&gt;
以前のバージョンでは、&amp;quot;include &amp;quot;ファイルを照合と組み合わせて使用すると、ファイルの内容がランタイムで変更可能なものとして扱われる場合、非常に壊れやすいことがあった。今回、ウォッチド・ファイルの取り扱いが更新され、プロセッサー・ランク間の適切な対応が保証されるようになった。&lt;br /&gt;
&lt;br /&gt;
== Usability ==&lt;br /&gt;
&lt;br /&gt;
=== New verification and validation public repository ===&lt;br /&gt;
OpenFOAMソフトウェアの検証と妥当性確認に関するコミュニティへの貢献をホストする新しいパブリックリポジトリが開設されました： OpenFOAM Verification and Validation Repository。&lt;br /&gt;
&lt;br /&gt;
このリポジトリの主な目的は、OpenFOAMコミュニティがソフトウェアの検証と検証の側面を共有、協力、強化するための一元化されたプラットフォームを提供することです。コミュニティの集合的な知識と専門知識を結集することにより、OpenFOAMシミュレーションの全体的な品質を向上させ、数値モデリングのベストプラクティスを推進することを目指しています。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、Taylor-Green渦問題と円形Couette流れが組み込まれ、ケースのセットアップとドキュメンテーションのために提供されたテンプレートの実用的な応用が示されています。&lt;br /&gt;
&lt;br /&gt;
=== コンピレーション ===&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
OpenFOAMで使用されるC++標準は、GNUコンパイラでもc++14になりました。この変更により、推奨コンパイラの最小バージョンはgcc-7.5.0になりました。&lt;br /&gt;
&lt;br /&gt;
将来のコード移行を支援するため、「より厳しい」非推奨警告を有効にできるようになりました。これは WM_COMPILE_CONTROL 環境変数の +strict エントリでグローバルに、または wmake -strict で一度だけ有効にできます。これは主に開発者向けのオプションと考えることができます（多くの警告を生成する可能性があります）が、モジュールを書くときに便利で面白いかもしれません。&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
このバージョンには、MacOS上でのコンパイルと実行に関するいくつかの改良が含まれています。&lt;br /&gt;
&lt;br /&gt;
* AppleとARM64のFPE処理の改善（Guanyang Xue氏提供）&lt;br /&gt;
* rpathハンドリング&lt;br /&gt;
* xcrun サポート&lt;br /&gt;
&lt;br /&gt;
MacOS のコンパイルでは、rpath のサポートがデフォルトで有効になり、Apple SIP (System Integrity Protection) の影響に対する回避策がいくらか減って、これらのシステムでの OpenFOAM の実行が簡単になりました。WM_COMPILE_CONTROL環境変数に~rpathを追加することで、rpath処理を無効にできます。&lt;br /&gt;
&lt;br /&gt;
MacOSコンパイルでは、xcodeツール（xcrunなど）の使用もサポートするようになりました。これらはWM_COMPILE_CONTROL環境変数に+xcrunを追加することで有効になります。見つかると、これらのコンパイル・ルールが使用されます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cc   := xcrun cc&lt;br /&gt;
CC   := xcrun c++ -std=c++14&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Clang ===&lt;br /&gt;
clangベースのコンパイルで、ldリンカを使用するように明示的に指定できるようになりました（注意：clangがldを使用するかlldを使用するかはインストールに依存します）。リンカの選択は環境変数 WM_COMPILE_CONTROL の対応するエントリで定義されます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
- `+gold`    : use gold linker&lt;br /&gt;
- `+link-ld` : use   ld linker&lt;br /&gt;
- `+lld`     : use  lld linker&lt;br /&gt;
- `+mold`    : use mold linker&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenMP ===&lt;br /&gt;
openmp と no-openmp の扱いが強化された。&amp;quot;+openmp&amp;quot; (wmake -openmp) よりも &amp;quot;~openmp&amp;quot; (wmake -no-openmp) の方が優先されます。&lt;br /&gt;
&lt;br /&gt;
これにより、一般的に+openmpを指定する場合はrobusterとなり、特定のビルド・コンポーネント（スタティック・ライブラリやMPIブリッジ・コードなど）を指定する場合は~openmpとなる。&lt;br /&gt;
&lt;br /&gt;
=== Profiling ===&lt;br /&gt;
このバージョンには、Extraeプロファイリング用のフックが含まれています。デフォルトでは、フックは常にOpenFOAMと一緒にビルドされますが、LD_PRELOADによってExtraeが実際にロードされるまで休止しています。これにより、OpenFOAMをその目的専用に再コンパイルすることなく、Extraeのトレースが可能になります。&lt;br /&gt;
&lt;br /&gt;
Josep Pocurull（Barcelona Supercomputing Center）により提供され、exaFOAMプロジェクトの一部として使用されたコード。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/global/profiling/profilingTrigger.C&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 652&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2312%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=849</id>
		<title>OpenFOAM v2312リリースノート</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2312%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=849"/>
		<updated>2023-12-24T08:11:10Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenCFDは、2023年12月リリースのOpenFOAM® v2312を発表いたします。このリリースは、コードの多くの領域にわたってOpenFOAM-v2306の機能を拡張しています。この新機能は、OpenCFDの顧客からのスポンサーによる開発、内部資金による開発、OpenFOAMコミュニティからの機能や変更の統合を表しています。&lt;br /&gt;
&lt;br /&gt;
OpenFOAMはOpenCFDによってGPLライセンスの下で配布されています。様々なLinuxや他のPOSIXシステムでのコンパイルに適したソースコードパッケージに加え、このリリースにはコンパイル済みのバイナリパッケージも多数あります。&lt;br /&gt;
&lt;br /&gt;
Ubuntu Linux: Ubuntu 22.04(LTS)、20.04(LTS)、18.04(LTS)、23.04、22.10 用パッケージインストール&lt;br /&gt;
&lt;br /&gt;
openSUSE Linux: Leap 15.5 用パッケージインストール&lt;br /&gt;
&lt;br /&gt;
Redhat Linuxの亜種: epel 9用のパッケージインストール; Fedora 37&lt;br /&gt;
&lt;br /&gt;
Windowsユーザーには、コンパイル済みパッケージについて3つの選択肢があります（詳細）：&lt;br /&gt;
&lt;br /&gt;
Windows Subsystem for Linux（Ubuntu、openSUSEなどベース）を使用する。&lt;br /&gt;
&lt;br /&gt;
クロスコンパイルによるネイティブ実行ファイル&lt;br /&gt;
&lt;br /&gt;
docker インストール&lt;br /&gt;
&lt;br /&gt;
OpenFOAMのapptainerサポートは、事前にアセンブルされたイメージではなく、記述ファイルによって提供されます：&lt;br /&gt;
&lt;br /&gt;
パッケージング/コンテナ参照&lt;br /&gt;
&lt;br /&gt;
Mac OSXユーザーは、ソースからコンパイルするか、Dockerコンテナを使ってコンパイル済みのパッケージを使用するオプションがあります（詳細）。&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
=== v2312ユーザーアップグレードガイド ===&lt;br /&gt;
&lt;br /&gt;
=== 挙動の変化 ===&lt;br /&gt;
&lt;br /&gt;
==== デフォルトのEnSightフォーマット ====&lt;br /&gt;
&lt;br /&gt;
* 関数オブジェクトとライターが使用するデフォルトの ensight 出力が、シミュレー ション controlDict で指定される \c writeFormat に依存するのではなく、より一貫して ˶c binary format を使用するようになりました。この変更により、foamToEnsight などのユーティリティや、他のファンクション・ オブジェクトやライターとの動作がより一貫したものになります。&lt;br /&gt;
&lt;br /&gt;
==== Function object: &amp;lt;code&amp;gt;Lambda2&amp;lt;/code&amp;gt; ====&lt;br /&gt;
Lambda2関数オブジェクトの出力が、支配方程式の変更、特に符号の反転によって修正されました。その結果、Lambda2のv2312以前のバージョンで観測された負のフィールド値は、v2312リリースでは正のフィールド値になりました（逆も同様）。&lt;br /&gt;
&lt;br /&gt;
=== 名前変更 ===&lt;br /&gt;
&lt;br /&gt;
==== Function object: &amp;lt;code&amp;gt;WeberNumberReacting&amp;lt;/code&amp;gt; ====&lt;br /&gt;
ラグランジュ関数オブジェクトクラスWeberNumberReactingは、新しいラグランジュ雲関数オブジェクトKinematicWeberNumberとの整合性を確保するため、ReactingWeberNumberと改名された。&lt;br /&gt;
&lt;br /&gt;
=== v2312 Developer Upgrade Guide ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
C++の最低規格は、2024年にC++11からC++17に引き上げられる予定である。&lt;br /&gt;
&lt;br /&gt;
== Pre-processing ==&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMesh：自動リークパスクロージャーから面を書き込む ===&lt;br /&gt;
snappyHexMeshにはメッシュ内の任意の位置とメッシュ外の位置の間のパスとして定義されたサーフェスのリークを自動的に閉じるオプションがあります。このリリースではリークを閉じるために使用された面はpostProcessingディレクトリのファイルに書き込まれます。&lt;br /&gt;
&lt;br /&gt;
下図は、ギャップのある球体（灰色）、スナップされたメッシュライン（青）、リークを閉じる面（赤）からなるテストケースを示しています：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ファイル書き込みフォーマットはsnappyHexMeshDictの新しいエントリーで選択できます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
//// Format for writing lines. E.g. leak path. Default is vtk format.&lt;br /&gt;
//setFormat ensight;&lt;br /&gt;
&lt;br /&gt;
//// Format to use for surfaces. E.g. leak-closure faces. Default is vtk format.&lt;br /&gt;
//surfaceFormat vtk;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/snappyHexMesh/sphere_gapClosure&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMesh：新しい複数の内側ポイント ===&lt;br /&gt;
snappyHexMeshのセルゾーンはinsidePointを指定することで作成できます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
refinementSurfaces&lt;br /&gt;
{&lt;br /&gt;
    ..&lt;br /&gt;
    cellZoneInside insidePoint;    // outside/insidePoint&lt;br /&gt;
    insidePoint    (1 1 1);        // if (cellZoneInside == insidePoint)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;1つのinsidePointではなく、複数のinsidePointが用意された：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cellZoneInside insidePoints;      // outside/insidePoint&lt;br /&gt;
insidePoints   ((1 1 1));         // if (cellZoneInside == insidePoint)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;下の図では、ジオメトリは2つのボックス（ワイヤーフレーム）で構成され、上のボックスは2つの切り離されたメッシュ領域をカバーしている。赤で示されたセルゾーンは、3つの別々のメッシュ領域を使用して作成されています。checkMeshユーティリティは、切断されたリージョンを表示するために使うことができます。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/snappyHexMesh/insidePoints&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/refinementSurfaces/surfaceZonesInfo.H&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMesh：並列メッシュの負荷分散 ===&lt;br /&gt;
snappyHexMeshは並列実行時に自動的にメッシュのバランスをとることができます。それは以下のどちらかになります&lt;br /&gt;
&lt;br /&gt;
* 変更が小さすぎる場合はバランスを取らない - maxLoadUnbalanceまたはmaxCellUnbalance設定を参照。&lt;br /&gt;
* maxLocalCells設定を参照してください。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、各ステップでメッシュのアンバランスがプリントされます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Layer mesh : cells:353749  faces:1108448  points:406303  unbalance:0.00110248&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;精製前のバランスは、セルの重みを与えることで実装されることに注意。各精製されるセルは8ずつカウントされる。しかし、これは単純な分解法、例えば階層的な分解法にのみ有効である。scotch と KaHip メソッドでは、カット数を含む重みを使ってアンバランスを最小化する。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* any parallel snappyHexMesh case&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C&lt;br /&gt;
&lt;br /&gt;
Related issues&lt;br /&gt;
&lt;br /&gt;
* Issue 3034&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMesh：レイヤーごとの追加 ===&lt;br /&gt;
OpenFOAM v2206リリースでは、snappyHexMeshが拡張され、nOuterIterエントリーを使用して複数パスでレイヤーを追加できるようになりました。ここでは、$FOAM_TUTORIALS/incompressible/pisoFoam/LES/motorBike/motorBikeチュートリアルを出発点として、どのように改良されたレイヤーの追加を実行できるかをデモしたいと思います：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
relativeSizes false; // true&lt;br /&gt;
&lt;br /&gt;
// Per final patch (so not geometry!) the layer information&lt;br /&gt;
layers&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;(lowerWall|motorBike).*&amp;quot;&lt;br /&gt;
    {&lt;br /&gt;
        nSurfaceLayers 16;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Expansion factor for layer mesh&lt;br /&gt;
expansionRatio 1.2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;重要な設定は、外側の反復回数とメッシュ・モーション・ソルバーである：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
// Overall max number of layer addition iterations&lt;br /&gt;
nLayerIter      25;&lt;br /&gt;
&lt;br /&gt;
// Add layers in multiple passes - gives layers a chance to rotate&lt;br /&gt;
nOuterIter      4;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
meshShrinker    displacementMotionSolver;&lt;br /&gt;
solver          displacementLaplacian;&lt;br /&gt;
displacementLaplacianCoeffs&lt;br /&gt;
{&lt;br /&gt;
    diffusivity quadratic inverseDistance (lowerWall upperWall &amp;quot;motorBike*&amp;quot;)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;メッシュの品質基準を緩めることで、（全体的なメッシュ品質は維持したまま）この複雑な形状でもレイヤーカバレッジを劇的に向上させることができる。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/snappyHexMesh/addLayersToFaceZone&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C&lt;br /&gt;
&lt;br /&gt;
=== Nastranサーフェスリーダーの改良 ===&lt;br /&gt;
NASTRANパーサーが更新され、PSHELL名の新しいANSA規約に対応しました。これにより、snappyHexMeshなど、より多くの場所でNASTRANファイルを直接使用することができるようになりました。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Issue 3009&lt;br /&gt;
&lt;br /&gt;
=== checkMeshユーティリティの改良 ===&lt;br /&gt;
checkMesh ユーティリティに writeChecks オプションが追加されました：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
checkMesh -writeChecks &amp;lt;format&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これにより、メッシュ・チェックのフォーマットを含むファイルが生成される：&lt;br /&gt;
&lt;br /&gt;
* dictionary : OpenFOAM dictionary;&lt;br /&gt;
* json : JSON format.&lt;br /&gt;
&lt;br /&gt;
例えば、コマンドを使う：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
checkMesh -allGeometry -allTopology -writeChecks JSON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;motorBikeチュートリアルでは、caseディレクトリにcheckMesh.jsonファイルが生成される：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;maxNonOrth&amp;quot; : 64.9999,&lt;br /&gt;
    &amp;quot;aveNonOrth&amp;quot; : 9.92427,&lt;br /&gt;
    &amp;quot;maxSkew&amp;quot; : 9.25719,&lt;br /&gt;
    &amp;quot;nWarnSkew&amp;quot; : 12,&lt;br /&gt;
    &amp;quot;minDeterminant&amp;quot; : 0,&lt;br /&gt;
    &amp;quot;aveDeterminant&amp;quot; : 1.55371,&lt;br /&gt;
    &amp;quot;thresholdDeterminant&amp;quot; : 0.001,&lt;br /&gt;
    &amp;quot;nErrorDeterminant&amp;quot; : 1274,&lt;br /&gt;
    &amp;quot;minFaceWeight&amp;quot; : 0.0216708,&lt;br /&gt;
    &amp;quot;aveFaceWeight&amp;quot; : 0.465687,&lt;br /&gt;
    &amp;quot;thresholdFaceWeight&amp;quot; : 0.05,&lt;br /&gt;
    &amp;quot;nErrorFaceWeight&amp;quot; : 1143,&lt;br /&gt;
    &amp;quot;minFaceVolumeRatio&amp;quot; : 0.0101126,&lt;br /&gt;
    &amp;quot;aveFaceVolumeRatio&amp;quot; : 0.846049&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_UTILITIES/mesh/manipulation/checkMesh/checkMesh.C&lt;br /&gt;
&lt;br /&gt;
=== subsetMeshユーティリティの改良 ===&lt;br /&gt;
subsetMesh ユーティリティが更新され、通常の -patches 選択を変更する -exclude-patches オプションを受け付けるようになりました。&lt;br /&gt;
&lt;br /&gt;
この変更により、最も近い露出パッチの指定が簡単になりました。&lt;br /&gt;
&lt;br /&gt;
== Numerics ==&lt;br /&gt;
&lt;br /&gt;
=== コミュニティへの貢献 随伴形状最適化の改善 ===&lt;br /&gt;
形状最適化のための感度微分を計算するためのE-SIとFI定式化間の整合性が改善されました。naca0012/laminar/moment/primalAdjointチュートリアルから取得した、変更前後のコード動作の例を以下に示します：&lt;br /&gt;
&lt;br /&gt;
一貫した点／面の感度マップ&lt;br /&gt;
&lt;br /&gt;
v2306とv2312で計算されたドラッグ感度マップを比較すると、a)新しいポイント-フェイス補間は、生の、つまり平滑化されていない感度でも、より滑らかな結果を生成する。&lt;br /&gt;
&lt;br /&gt;
さらなる改善点は以下の通り：&lt;br /&gt;
&lt;br /&gt;
* 不必要に新しいアドジョイントフィールドを割り当てることなく幾何学的制約を定義するための新しいアドジョイントソルバ（null）と目的関数（geometric）タイプ&lt;br /&gt;
&lt;br /&gt;
* 不等式制約のある最適化問題に取り組むための3つの新しい更新法（ISQP, nullSpace, MMA）&lt;br /&gt;
* 設計変数に境界を導入。ボリューメトリックBスプラインの場合、最適化を通してメッシュの品質をより良く保つことができます。&lt;br /&gt;
* 最適化ループの収束基準の導入。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/shapeOptimisation/naca0012/laminar/multipleConstraints&lt;br /&gt;
&lt;br /&gt;
Guide&lt;br /&gt;
&lt;br /&gt;
* The updated user guide for v2312 can be found here&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* Merge request MR!649&lt;br /&gt;
* Overhaul of the adjoint library to ease extension to flow physics other than incompressible flows - see Commit 9a89fcc0 for details;&lt;br /&gt;
* Corrections/improvements to shape optimisation - see Commit 9a89fcc0 for details.&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* The software was developed by PCOpt/NTUA and FOSS GP&lt;br /&gt;
* Integration in collaboration with OpenCFD&lt;br /&gt;
&lt;br /&gt;
=== コミュニティへの貢献 トポロジーに基づく新しいアジョイント最適化 ===&lt;br /&gt;
OpenFOAM v2312では、空隙率ベースまたはレベルセットアプローチによる新しいトポロジー最適化機能が追加されました。どちらも、設計されたジオメトリをSTLとしてエクスポートする機能を備えており、製造やボディフィットグリッドによる再評価に利用できます。&lt;br /&gt;
&lt;br /&gt;
空隙率ベースのアプローチは、計算領域の非生産的な部分を固めることでブロックする設計変数の場（人工空隙率α）に依存する。得られた解の平滑性を高めるために、正則化方程式を解いて中間場α̃を計算し、次にシャープニング/プロジェクションステップを経てほぼ二値の場βを計算します。後者は、固化した領域（すなわちβ≈1の領域）で流れ解をゼロにするソース項を流れ方程式に導入するために使用されます。上記のプロセスの手順を以下に示す。&lt;br /&gt;
&lt;br /&gt;
次の表は、同じケースの3つの異なるバリエーション、すなわち、Jpt＜Jpttarget制約（右）の下で、総圧力損失（Jpt）の最小化（左）、下部出口と右出口間の体積流量の均等配分制約（Jm）を伴うJptの最小化（中央）、および流れの均一性（Jun）の最大化（右）に対するトポロジー最適化の結果を示している。&lt;br /&gt;
&lt;br /&gt;
ケースは、adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/BPにあります。&lt;br /&gt;
&lt;br /&gt;
次の表は、同様の目的関数と制約関数を持つ3次元多様体のトポロジー最適化の結果を示しています。最初の行は、最適化サイクル中の計算領域の流体部分と固体部分の境界の進行を示し、最後の行は、最適化された3つの形状のSTLファイルを示しています。後者の生成プロセスは自動化されており、各最適化サイクルの終了時に実行されます。これらのSTLファイルは、適切な境界条件によるボディフィットシミュレーションや、その後の形状最適化、さらには製造に使用することができます。&lt;br /&gt;
&lt;br /&gt;
ケースはtopologyOptimisation/monoFluidAero/laminar/3DBoxにあります。&lt;br /&gt;
&lt;br /&gt;
==== 下位互換性 ====&lt;br /&gt;
optimisationDict.optimisationの項目が少し変わりました。この変更は、例えば、$FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/shapeOptimisation/motorBikeのoptimisationDictを以前のものと比較することで確認できます。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/topologyOptimisation&lt;br /&gt;
&lt;br /&gt;
Guide&lt;br /&gt;
&lt;br /&gt;
* The updated user guide for v2312 can be found here&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* Merge request MR!649&lt;br /&gt;
* Overhaul of the adjoint library to ease extension to flow physics other than incompressible flows - see Commit 9a89fcc0 for details;&lt;br /&gt;
* Corrections/improvements to shape optimisation - see Commit 9a89fcc0 for details.&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* The software was developed by PCOpt/NTUA and FOSS GP&lt;br /&gt;
* Integration in collaboration with OpenCFD&lt;br /&gt;
&lt;br /&gt;
== Solvers and physical models ==&lt;br /&gt;
&lt;br /&gt;
=== fvOptionsの改良：ポイントの移動 ===&lt;br /&gt;
有限体積オプション（fvOptions）フレームワークが改良されました：&lt;br /&gt;
&lt;br /&gt;
* 入力辞書の更新により、セル選択を実行時に更新できるようになりました。&lt;br /&gt;
* 空間内を移動する点をモデル化する新しい方法。&lt;br /&gt;
&lt;br /&gt;
最小限の使用例は以下の通り：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
fvOption1&lt;br /&gt;
{&lt;br /&gt;
    // Optional entries&lt;br /&gt;
    updateSelection         true;&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
fvOption2&lt;br /&gt;
{&lt;br /&gt;
    // Mandatory entries&lt;br /&gt;
    selectionMode   movingPoints;&lt;br /&gt;
&lt;br /&gt;
    movingPoints&lt;br /&gt;
    {&lt;br /&gt;
        point1        table&lt;br /&gt;
        (&lt;br /&gt;
            // time    position&lt;br /&gt;
            (  0 (0 0 0.75))&lt;br /&gt;
            (  1 (0 0 0.65))&lt;br /&gt;
            (  2 (0 0 0.55))&lt;br /&gt;
            (  3 (0 0 0.45))&lt;br /&gt;
            (  4 (0 0 0.35))&lt;br /&gt;
            (  5 (0 0 0.25))&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        point2        (-0.25 -0.25 0.5);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/fvOptions/cellSetOption/cellSetOption.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 630&lt;br /&gt;
&lt;br /&gt;
=== 新しい fvOption: マップされたフィールド制約 ===&lt;br /&gt;
MapFieldConstraintは、外部メッシュからのソース・フィールドを使用して、&amp;lt;Type&amp;gt;型の指定フィールドに値の制約を課します。ここで、&amp;lt;Type&amp;gt;には{scalar, vector, sphericalTensor, symmTensor, tensor}を指定できます。オプションとして、ソースフィールドは時間経過とともに平行移動または回転させることができます。&lt;br /&gt;
&lt;br /&gt;
考えられる用途は、例えば、移動する電気源の影響をモデル化することである。最小限の使用例を以下に示す：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
MapFieldConstraint1&lt;br /&gt;
{&lt;br /&gt;
    // Mandatory entries&lt;br /&gt;
    type                MapFieldConstraint;&lt;br /&gt;
    field               &amp;lt;word&amp;gt;;&lt;br /&gt;
    srcMesh             &amp;lt;fileName&amp;gt;;&lt;br /&gt;
    mapMethod           &amp;lt;word&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    // Optional entries&lt;br /&gt;
    consistent          &amp;lt;bool&amp;gt;;&lt;br /&gt;
    patchMapMethod      &amp;lt;word&amp;gt;;&lt;br /&gt;
    transform&lt;br /&gt;
    {&lt;br /&gt;
        // Optional entries&lt;br /&gt;
        position    &amp;lt;Function1&amp;lt;vector&amp;gt;&amp;gt;;&lt;br /&gt;
        origin      &amp;lt;vector&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
        direction   &amp;lt;Function1&amp;lt;vector&amp;gt;&amp;gt;;&lt;br /&gt;
        normal      &amp;lt;vector&amp;gt;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Conditional entries&lt;br /&gt;
&lt;br /&gt;
        // when consistent=false&lt;br /&gt;
        patchMap        &amp;lt;HashTable&amp;lt;word&amp;gt;&amp;gt;;  // (&amp;lt;patchSrc&amp;gt; &amp;lt;patchTgt&amp;gt;);&lt;br /&gt;
        cuttingPatches  &amp;lt;wordList&amp;gt;;  // (&amp;lt;patchTgt1&amp;gt; ... &amp;lt;patchTgtN&amp;gt;);&lt;br /&gt;
&lt;br /&gt;
    // Inherited entries&lt;br /&gt;
&lt;br /&gt;
        ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/fvOptions/constraints/general/mapFieldConstraint/MapFieldConstraint.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 630&lt;br /&gt;
&lt;br /&gt;
=== コミュニティへの貢献：新しい乱流技術委員会サブモジュール ===&lt;br /&gt;
OpenFOAMガバナンス内のTurbulence Technical Committeeのネストされたサブモジュールを含む新しいコミュニティサブモジュールが開始されました。このサブモジュールは、公開されている Turbulence Technical Committee のリポジトリでホストされています。&lt;br /&gt;
&lt;br /&gt;
コミュニティ・サブモジュールは、乱流モデリングに関連する学術的・産業的な貢献のホストとして機能し、知識交換の場を作り、この分野とOpenFOAMの両方を発展させるコラボレーションを促進します。&lt;br /&gt;
&lt;br /&gt;
BitbucketやGitHubのようなGitベースのソースコード・リポジトリ・ホスティング・サービスでホストし、このサブモジュールを介してOpenFOAMソフトウェアにリンクすることができます。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、サブモジュールにlibWallModelledLESライブラリーが組み込まれ、壁面モデルによるラージ・エディ・シミュレーション（WMLES）の領域でOpenFOAMの機能が拡張されました。この乱流モデリング手法は、乱流境界層の内部領域の解像度を回避することで、費用対効果の高いLESを可能にします。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $WM_PROJECT_DIR/modules/turbulence-community&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* OpenCFD would like to acknowledge and thank Turbulence Technical Committee members for their contributions and help.&lt;br /&gt;
&lt;br /&gt;
=== 改善されたラグランジュ・ブラウン運動 ===&lt;br /&gt;
このバージョンでは、ブラウン運動の3次分布のサポートが復活しました。しかし、特に指定がない限り、（互換性のために）デフォルトの球形分布が引き続き使用されます。&lt;br /&gt;
&lt;br /&gt;
このバージョンでは、ブラウン運動の3次分布のサポートが復活しました。&lt;br /&gt;
&lt;br /&gt;
しかし、特に指定がない限り、適度に小さな時間ステップでは不正確であるにもかかわらず、（互換性のために）デフォルトの球面処理が引き続き使用されます。&lt;br /&gt;
&lt;br /&gt;
三次分布は、球面処理が明示的に無効化されている場合に使用される。例えば&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
subModels&lt;br /&gt;
{&lt;br /&gt;
    particleForces&lt;br /&gt;
    {&lt;br /&gt;
        sphereDrag;&lt;br /&gt;
        BrownianMotion&lt;br /&gt;
        {&lt;br /&gt;
            lambda     2e-10;&lt;br /&gt;
            turbulence false;&lt;br /&gt;
            spherical  false;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;立方体分布と球形分布の違いは次の図に見られる。&lt;br /&gt;
&lt;br /&gt;
変更の報告、検証、テストはGuanyang Xueの好意によるものである。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.H&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Issue 2922&lt;br /&gt;
&lt;br /&gt;
Merge request 634&lt;br /&gt;
&lt;br /&gt;
== Post-processing ==&lt;br /&gt;
&lt;br /&gt;
=== 新しいAbaqusサンプルセット ===&lt;br /&gt;
新しい abaqusMesh セットは、Abaqus メッシュポイント形式を使用してファイルからサンプル位置を導出します。使用例：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
sets&lt;br /&gt;
{&lt;br /&gt;
    cone25 // user-specified set name&lt;br /&gt;
    {&lt;br /&gt;
        type        abaqusMesh;&lt;br /&gt;
        file        &amp;quot;abaqusMesh.inp&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        // Optional entries&lt;br /&gt;
&lt;br /&gt;
        // Scale, e.g. mm to m&lt;br /&gt;
        scale       0.001;&lt;br /&gt;
&lt;br /&gt;
        // Search distance when the sample point is not located in a cell&lt;br /&gt;
        maxDist     0.25;&lt;br /&gt;
&lt;br /&gt;
        ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Tutorials&lt;br /&gt;
&lt;br /&gt;
* TBA&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/sampling/sampledSet/abaqus&lt;br /&gt;
&lt;br /&gt;
=== 新しいAbaqusセットライター ===&lt;br /&gt;
新しいAbaqusセットライターはOpenFOAMセットデータをAbaqusフォーマットに変換します。使用例&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
T&lt;br /&gt;
{&lt;br /&gt;
    type sets;&lt;br /&gt;
    setFormat abaqus;&lt;br /&gt;
    fields (T);&lt;br /&gt;
    sets&lt;br /&gt;
    {&lt;br /&gt;
        ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;オプションの書式オプションは、formatOptions辞書内のabaqusサブ辞書で提供されます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
formatOptions&lt;br /&gt;
{&lt;br /&gt;
    abaqus&lt;br /&gt;
    {&lt;br /&gt;
        format      ascii;&lt;br /&gt;
&lt;br /&gt;
        // Optional entries&lt;br /&gt;
&lt;br /&gt;
        // Custom header: $ entries are substituions&lt;br /&gt;
        header&lt;br /&gt;
        (&lt;br /&gt;
            &amp;quot;** OpenFOAM abaqus output&amp;quot;&lt;br /&gt;
            &amp;quot;** Project $FOAM_CASE&amp;quot;&lt;br /&gt;
            &amp;quot;** File $FILE_NAME&amp;quot;&lt;br /&gt;
            &amp;quot;** $FIELD_NAME Time t=$TIME&amp;quot;&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        // Write geometry in addition to field data&lt;br /&gt;
        writeGeometry yes;&lt;br /&gt;
&lt;br /&gt;
        // Null value when sample value is not found&lt;br /&gt;
        // Default is scalar::min&lt;br /&gt;
        nullValue   0;&lt;br /&gt;
&lt;br /&gt;
        // Insert additional time sub-directory in the output path&lt;br /&gt;
        // - yes : postProcessing/&amp;lt;fo-name&amp;gt;/&amp;lt;time&amp;gt;/&amp;lt;file&amp;gt;&lt;br /&gt;
        // - no : postProcessing/&amp;lt;fo-name&amp;gt;/&amp;lt;file&amp;gt;&lt;br /&gt;
        useTimeDir  no;&lt;br /&gt;
&lt;br /&gt;
        // Available when 'useTimeDir' is 'no' to disambiguate file names&lt;br /&gt;
&lt;br /&gt;
        // Time base for output file names:&lt;br /&gt;
        // - 'time' : &amp;lt;base&amp;gt;.inp_&amp;lt;field&amp;gt;.&amp;lt;time&amp;gt;&lt;br /&gt;
        // - 'iteration' : &amp;lt;base&amp;gt;.inp_&amp;lt;field&amp;gt;.&amp;lt;iteration&amp;gt;&lt;br /&gt;
        timeBase    iteration;&lt;br /&gt;
&lt;br /&gt;
        // Optional start counters when using timeBase iteration&lt;br /&gt;
        writeIndex&lt;br /&gt;
        (&lt;br /&gt;
            T 1&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Tutorials&lt;br /&gt;
&lt;br /&gt;
* TBA&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/meshTools/coordSet/writers/abaqus/abaqusCoordSetWriter.C&lt;br /&gt;
&lt;br /&gt;
=== パッチ・シード・セットの改善 ===&lt;br /&gt;
patchSeed sampled setがパッチ全体で一様にサンプルシードを計算するようになりました。以前の実装では、顔のインデックスをパッチ全体で一様にサンプリングしていましたが、その副作用として、より小さな顔に偏りがありました。&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
streamline5&lt;br /&gt;
{&lt;br /&gt;
    type                streamLine;&lt;br /&gt;
    libs                (fieldFunctionObjects);&lt;br /&gt;
    U                   U;&lt;br /&gt;
    fields              (U p);&lt;br /&gt;
    setFormat           vtk;&lt;br /&gt;
    direction           forward;&lt;br /&gt;
    lifeTime            20000;&lt;br /&gt;
    cloud               particleTracks;&lt;br /&gt;
    seedSampleSet&lt;br /&gt;
    {&lt;br /&gt;
        type            patchSeed;&lt;br /&gt;
        axis            xyz;&lt;br /&gt;
        patches         (&amp;quot;inlet1&amp;quot;);&lt;br /&gt;
        maxPoints       40;&lt;br /&gt;
    }&lt;br /&gt;
    interpolationScheme cellPoint;&lt;br /&gt;
    trackLength         0.001;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/simpleFoam/motorBike/system/wallBoundedStreamLines&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/sampling/sampledSet/patchSeed&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 647&lt;br /&gt;
&lt;br /&gt;
=== 新しいケース情報機能オブジェクト ===&lt;br /&gt;
新しい caseInfo 関数オブジェクトは、実行時または後処理の一部として、ソルバーとケースの情報を生成します。収集されるデータには以下が含まれます：&lt;br /&gt;
&lt;br /&gt;
* メタデータ：ケース名、パス、タイムディレクトリ数など。&lt;br /&gt;
* 辞書エントリ : 任意の入力辞書からすべて/選択したものを抽出&lt;br /&gt;
** fvSolutionからUリニアソルバーを取得するには、'solvers/U/solver'などのスコープを使用する。&lt;br /&gt;
** はワイルドカードをサポートしている。例えば、fvSolution U ソルバー・キーワードが&amp;quot;(U|k|epsilon) &amp;quot;であった場合。&lt;br /&gt;
** include'または'exclude'リストを使用して、含める/除外するエントリ名の選択を制限する。&lt;br /&gt;
* メッシュ統計：点、面、セルの数、境界、ゾーン名など。&lt;br /&gt;
* 関数オブジェクトの結果：関数オブジェクトの結果のキャッシュ値など&lt;br /&gt;
&lt;br /&gt;
使用例：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
caseInfo1&lt;br /&gt;
{&lt;br /&gt;
    type        caseInfo;&lt;br /&gt;
    libs        (utilityFunctionObjects);&lt;br /&gt;
&lt;br /&gt;
    writeFormat json; // josn | dictionary&lt;br /&gt;
&lt;br /&gt;
    // List of dictionaries - retrieve using 'path' or registered 'name'&lt;br /&gt;
    dictionaries&lt;br /&gt;
    {&lt;br /&gt;
        fvSolution&lt;br /&gt;
        {&lt;br /&gt;
            name        &amp;quot;fvSolution&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
            // include all entries by default&lt;br /&gt;
        }&lt;br /&gt;
        controlDict&lt;br /&gt;
        {&lt;br /&gt;
            path        &amp;quot;system/controlDict&amp;quot;;&lt;br /&gt;
            include&lt;br /&gt;
            (&lt;br /&gt;
                &amp;quot;application&amp;quot;&lt;br /&gt;
                &amp;quot;deltaT&amp;quot;&lt;br /&gt;
                &amp;quot;startTime&amp;quot;&lt;br /&gt;
                &amp;quot;endTime&amp;quot;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Extract function object results&lt;br /&gt;
    functionObjects (pressureDifference sample1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;出力例&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;meta&amp;quot; : {&lt;br /&gt;
        &amp;quot;case&amp;quot; : &amp;quot;heatExchanger&amp;quot;,&lt;br /&gt;
        &amp;quot;path&amp;quot; : &amp;quot;chtMultiRegionSimpleFoam/heatExchanger&amp;quot;,&lt;br /&gt;
        &amp;quot;regions&amp;quot; : [&amp;quot;air&amp;quot;, &amp;quot;porous&amp;quot;],&lt;br /&gt;
        &amp;quot;nTimes&amp;quot; : 7,&lt;br /&gt;
        &amp;quot;nProc&amp;quot; : 1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;regions&amp;quot; : {&lt;br /&gt;
        &amp;quot;air&amp;quot; : {&lt;br /&gt;
            &amp;quot;mesh&amp;quot; : {&lt;br /&gt;
                &amp;quot;nGeometricD&amp;quot; : 3,&lt;br /&gt;
                &amp;quot;nSolutionD&amp;quot; : 3,&lt;br /&gt;
                &amp;quot;nPoints&amp;quot; : 252991,&lt;br /&gt;
                &amp;quot;nFaces&amp;quot; : 739260,&lt;br /&gt;
                &amp;quot;nCells&amp;quot; : 243000,&lt;br /&gt;
                &amp;quot;nPatches&amp;quot; : 4,&lt;br /&gt;
                &amp;quot;pointZones&amp;quot; : [],&lt;br /&gt;
                &amp;quot;faceZones&amp;quot; : [&amp;quot;rotorBlades&amp;quot;, &amp;quot;baffleFaces&amp;quot;],&lt;br /&gt;
                &amp;quot;cellZones&amp;quot; : [&amp;quot;cylinder&amp;quot;, &amp;quot;innerCylinder&amp;quot;, &amp;quot;rotor&amp;quot;],&lt;br /&gt;
                &amp;quot;boundsMin&amp;quot; : [0, 0, 0],&lt;br /&gt;
                &amp;quot;boundsMax&amp;quot; : [5.000000e-01, 5.000000e-01, 5.000000e-01],&lt;br /&gt;
                &amp;quot;clouds&amp;quot; : []&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;boundary&amp;quot; : {&lt;br /&gt;
                &amp;quot;types&amp;quot; : {&lt;br /&gt;
                    &amp;quot;walls&amp;quot; : &amp;quot;wall&amp;quot;,&lt;br /&gt;
                    &amp;quot;inlet&amp;quot; : &amp;quot;patch&amp;quot;,&lt;br /&gt;
                    &amp;quot;outlet&amp;quot; : &amp;quot;patch&amp;quot;,&lt;br /&gt;
                    &amp;quot;blades&amp;quot; : &amp;quot;wall&amp;quot;&lt;br /&gt;
                },&lt;br /&gt;
                &amp;quot;fields&amp;quot; : {&lt;br /&gt;
                    &amp;quot;alphat&amp;quot; : {&lt;br /&gt;
                        &amp;quot;walls&amp;quot; : &amp;quot;compressible::alphatWallFunction&amp;quot;,&lt;br /&gt;
                        &amp;quot;inlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;outlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;blades&amp;quot; : &amp;quot;compressible::alphatWallFunction&amp;quot;&lt;br /&gt;
                    },&lt;br /&gt;
                    &amp;quot;nut&amp;quot; : {&lt;br /&gt;
                        &amp;quot;walls&amp;quot; : &amp;quot;nutkWallFunction&amp;quot;,&lt;br /&gt;
                        &amp;quot;inlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;outlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;blades&amp;quot; : &amp;quot;nutkWallFunction&amp;quot;&lt;br /&gt;
                    },&lt;br /&gt;
                    &amp;quot;p&amp;quot; : {&lt;br /&gt;
                        &amp;quot;walls&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;inlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;outlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;blades&amp;quot; : &amp;quot;calculated&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/utilities/caseInfo&lt;br /&gt;
&lt;br /&gt;
== DMDによる新しい低次モデリング磁場再構成 ==&lt;br /&gt;
動的モード分解（DMD）機能は、OpenFOAM v2006で導入され、その後OpenFOAM v2106で拡張されました。このリリースにより、OpenFOAMは、DMDの主な利点の1つである、任意の中間時点や将来の時点におけるCFD計算を必要とせずに、与えられたモードとそれに関連するダイナミクスに基づいて場を生成する機能を習得しました。&lt;br /&gt;
&lt;br /&gt;
この機能により、ユーザーはシミュレーション全体をいくつかのモードとモードダイナミクスに凝縮し、CFD解析を追加することなく、任意の時間における場の生成や将来の状態の予測を行うことができます。&lt;br /&gt;
&lt;br /&gt;
もう一つの潜在的な利点は、ユーザーがシミュレーションを短縮し、大規模なシミュレーションを行うことなく流れ場の将来の状態を予測できることである。これは、より短時間のシミュレーションで得られたモードとモードダイナミクスを使用することで実現できます。&lt;br /&gt;
&lt;br /&gt;
結果の質は、基礎となる縮小モデルの能力と入力データの質に依存することに留意すべきである。再構成結果を改善するためには、流れからモードが正しく抽出されていることを確認する必要がある。&lt;br /&gt;
&lt;br /&gt;
system/ROMfieldsDictを使った最小の例は以下の通り：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
// Mandatory entries&lt;br /&gt;
ROMmodel        &amp;lt;word&amp;gt;;&lt;br /&gt;
field           &amp;lt;word&amp;gt;;&lt;br /&gt;
object          &amp;lt;word&amp;gt;;&lt;br /&gt;
deltaT          &amp;lt;scalar&amp;gt;;&lt;br /&gt;
time            &amp;lt;scalar&amp;gt;;&lt;br /&gt;
modes           &amp;lt;labelList&amp;gt;;&lt;br /&gt;
amplitudes      &amp;lt;complexList&amp;gt;;&lt;br /&gt;
eigenvalues     &amp;lt;complexList&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
// Optional entries&lt;br /&gt;
startTime       &amp;lt;scalar&amp;gt;;&lt;br /&gt;
dimensions      &amp;lt;dimensionSet&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
// Inherited entries&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;下の図は、2次元円柱チュートリアルから得られた速度場と、シミュレーションを実行せずにDMDモードとダイナミクスを使用して再構成したものです：&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_UTILITIES/postProcessing/miscellaneous/createROMfields/createROMfields.C&lt;br /&gt;
* $FOAM_UTILITIES/postProcessing/miscellaneous/createROMfields/ROMmodels/DMD/DMD.H&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/pimpleFoam/laminar/cylinder2D&lt;br /&gt;
&lt;br /&gt;
References&lt;br /&gt;
&lt;br /&gt;
* Kiewat, M. (2019). Streaming modal decomposition approaches for vehicle aerodynamics. PhD thesis. Munich: Technical University of Munich. URL:mediatum.ub.tum.de/doc/1482652/1482652.pdf&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* OpenCFD would like to acknowledge and thank Marco Kiewat for his contributions, elaborate suggestions and help, and critical recommendations.&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 639&lt;br /&gt;
&lt;br /&gt;
=== ノイズ・ユーティリティの向上 ===&lt;br /&gt;
ノイズユーティリティは、時間情報からのデフォルトの自動計算だけでなく、ユーザー定義のサンプリング周波数（キーワード：sampleFreq）もサポートするようになりました。読みやすさを向上させるため、周波数の上限と下限をminFreqとmaxFreqで指定できるようになりました（以前のキーワードも引き続きサポートされています）。&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
// Lower frequency limit, default 25 Hz, former name 'fl'&lt;br /&gt;
minFreq 25;&lt;br /&gt;
&lt;br /&gt;
// Upper frequency limit, default 10 kHz, former name 'fu'&lt;br /&gt;
maxFreq 10000;&lt;br /&gt;
&lt;br /&gt;
// OPTIONAL - Sample frequency&lt;br /&gt;
sampleFreq 100;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;サンプリングされた時間から周波数を計算する際に時間が不均一であると評価された場合、deltaT が非常に小さい場合、不均一性は多くの場合偽のエラーであるため、ユーティリティはエラーではなく警告を発するようになりました。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/surfMesh/writers/ensight/ensightSurfaceWriter.H&lt;br /&gt;
* $FOAM_SRC/randomProcesses/noise/noiseModels/noiseModel/noiseModel.H&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS//incompressible/pimpleFoam/LES/vortexShed&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Issue 2999&lt;br /&gt;
&lt;br /&gt;
=== エンサイトの出力向上 ===&lt;br /&gt;
EnSightライターの時間値は、デフォルトの固定フォーマットと精度を使用する代わりに、ユーザーが指定できるようになりました。例えば&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
formatOptions&lt;br /&gt;
{&lt;br /&gt;
    ensight&lt;br /&gt;
    {&lt;br /&gt;
        timeFormat      general; // Format for time directory names (general | fixed | scientific); default scientific&lt;br /&gt;
        timePrecision   12;      // Default = 5&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これらの新しいフォーマットオプションは、例えばノイズユーティリティの圧力サンプリングと組み合わせて、小さなタイムステップを使用する場合に特に便利です。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/surfMesh/writers/ensight/ensightSurfaceWriter.H&lt;br /&gt;
* $FOAM_SRC/functionObjects/utilities/ensightWrite/ensightWrite.H&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Merge request 634&lt;br /&gt;
&lt;br /&gt;
=== 新しいラグランジュ関数オブジェクト ウェーバー数 ===&lt;br /&gt;
表面張力と比較した粒子の慣性の相対的な重要性を監視するために、ラグランジュ関数オブジェクトWeberNumberが運動学小包に導入されています。&lt;br /&gt;
&lt;br /&gt;
最小限の使用例は以下の通り：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cloudFunctions&lt;br /&gt;
{&lt;br /&gt;
    KinematicWeberNumber1&lt;br /&gt;
    {&lt;br /&gt;
        // Mandatory entries&lt;br /&gt;
        type             WeberNumber;&lt;br /&gt;
        sigma            &amp;lt;scalar&amp;gt;;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/lagrangian/intermediate/submodels/CloudFunctionObjects/KinematicWeberNumber/KinematicWeberNumber.H&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/lagrangian/kinematicParcelFoam/spinningDisk&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 648&lt;br /&gt;
&lt;br /&gt;
=== 空のサーフェス（surfaceFieldValue）の取り扱いが改善されました。 ===&lt;br /&gt;
ワークフローによっては、サンプリングされたサーフェスが、シミュレーション中に現れたり消えたりするフェイスゾーンなどの量に依存する場合があります。そのため、空のサーフェスでサーフェスフィールドの値を評価することは、通常、セットアップに重大なエラーがあることを示しますが、このようなことが予想される場合もあります。追加キーワードempty-surfaceにより、空のサーフェスに遭遇したときの動作を指定することができます。&lt;br /&gt;
&lt;br /&gt;
最小限の例：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
surfaceFieldValueFaceZone1&lt;br /&gt;
{&lt;br /&gt;
    type            surfaceFieldValue;&lt;br /&gt;
    libs            (fieldFunctionObjects);&lt;br /&gt;
    ...&lt;br /&gt;
    regionType      faceZone;&lt;br /&gt;
&lt;br /&gt;
    empty-surface   warn;  // default | warn | ignore | strict&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.H&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Issue 2966&lt;br /&gt;
&lt;br /&gt;
== Parallel ==&lt;br /&gt;
&lt;br /&gt;
=== 結合パッチフィールド値の一貫性 ===&lt;br /&gt;
結合された制約境界条件、例: プロセッサーとサイクリックは、その内部フィールド値と一致している必要があります。 たとえば、プロセッサ パッチでは、値フィールドに隣接するプロセッサ セルの値が含まれます。つまり、反対側のセルの値がキャッシュされます。 他の結合されたパッチ フィールドは、ローカルおよび隣接セル値の補間値を値として持つ場合があります。 経験則として、セル値を変更するコードはすべて、たとえば、 勾配計算では、値の更新を実行するために境界条件を修正する呼び出しを行う必要があります (プロセッサ境界フィールドでのハロー スワップに相当します)。 ただし、「ローカル」操作の場合、たとえば 乗算では、境界条件に値のみがあり、セル値に依存しない場合、これがスキップされることがあります。 ほとんどの「通常の」境界条件はこのカテゴリに分類されます。&lt;br /&gt;
&lt;br /&gt;
結合境界条件の場合、プロセッサのパッチ フィールドにも適用されますが、たとえば、パッチ フィールドには適用されません。 環状、環状AMI のバリアント。 これにより、中間計算の値が一貫性制約に従わなくなります。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、制約パッチの値がいつでも最新であるように、ローカル操作の後の評価を強制しています。この選択はまだ調査中であり、将来更新される可能性があることに注意してください。&lt;br /&gt;
&lt;br /&gt;
=== patchField の整合性チェックの結合 ===&lt;br /&gt;
ビジュアルコードのチェックで、meshWaveメソッドとmeshWaveAddressingメソッドによって返される壁面距離フィールドが平行一貫していないことが確認されました。このようなエラーを発見しやすくするために、オプションで整合性チェックが追加されました：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
DebugSwitches&lt;br /&gt;
{&lt;br /&gt;
    volScalarField::Boundary            1;&lt;br /&gt;
    volVectorField::Boundary            1;&lt;br /&gt;
    volSphericalTensorField::Boundary   1;&lt;br /&gt;
    volSymmTensorField::Boundary        1;&lt;br /&gt;
    volTensorField::Boundary            1;&lt;br /&gt;
&lt;br /&gt;
    areaScalarField::Boundary           1;&lt;br /&gt;
    areaVectorField::Boundary           1;&lt;br /&gt;
    areaSphericalTensorField::Boundary  1;&lt;br /&gt;
    areaSymmTensorField::Boundary       1;&lt;br /&gt;
    areaTensorField::Boundary           1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;1 を指定するとチェックが有効になり、チェックに失敗すると FatalError が発生する。特に FOAM_ABORT と組み合わせることで、スタックトレースを生成することができます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
FOAM_ABORT=true mpirun -np 2 simpleFoam -parallel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;デバッグ・スイッチはビットマップとして解釈される：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!bit&lt;br /&gt;
!value(2^bit)&lt;br /&gt;
!effect&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|ローカル操作ごとにチェックを加える&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|2&lt;br /&gt;
|プリントの入力と終了をチェックする&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|4&lt;br /&gt;
|fatalErrorの代わりにwarning&lt;br /&gt;
|}&lt;br /&gt;
比較の許容誤差はデフォルトで0に設定されている。プロセッサのハロースワップでは、まったく同じ操作がまったく同じ順序で実行されるため、許容誤差の問題はありません。しかし、サイクリックやサイクリックAMIなどの「補間」結合境界条件では、ローカル演算（定数による乗算など）が補間後に実行されるため、若干異なる切り捨て誤差が発生します。この場合、許容誤差をオーバーライドすることができます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
OptimisationSwitches&lt;br /&gt;
{&lt;br /&gt;
    volScalarField::Boundary::tolerance           1e-10;&lt;br /&gt;
    // .. and similar for all the other field types ..&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 下位互換性 ====&lt;br /&gt;
新しい整合性操作は、周期的または周期的AMI境界条件、または結合境界条件を使用する非自明な乱流モデルを使用するケースの動作をわずかに変更します。&lt;br /&gt;
&lt;br /&gt;
オプションとして、etc/controlDictのlocalConsistency設定をオーバーライドすることで、この振る舞いを以前の（一貫性のない！）形に戻すことができる：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
OptimisationSwitches&lt;br /&gt;
{&lt;br /&gt;
    //- Enable enforced consistency of constraint bcs after 'local' operations.&lt;br /&gt;
    //  Default is on. Set to 0/false to revert to &amp;lt;v2306 behaviour&lt;br /&gt;
    localConsistency 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;簡単なテストはcyclicAMIパッチを使ったチュートリアル、例えばpipeCyclicチュートリアルです。上記のDebugSwitchでチェックを有効にすると問題なく動作しますが、localConsistencyフラグを無効にすると不整合が検出されます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[0] --&amp;gt; FOAM FATAL ERROR: (openfoam-2302 patch=230110)&lt;br /&gt;
[0] Field dev(symm(grad(U))) is not evaluated? On patch side1 type cyclicAMI : average of field = ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Related issues&lt;br /&gt;
&lt;br /&gt;
* Issue 2783&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 628&lt;br /&gt;
&lt;br /&gt;
==== ノンブロッキング環状A(C)MI ====&lt;br /&gt;
cyclicAMI境界条件は、複数の隣接する面からの面積加重補間を実装します。これらの面はローカルであることも、リモートプロセッサに存在することもあり、並列通信を必要とします。&lt;br /&gt;
&lt;br /&gt;
以前のリリースでは、それぞれのcyclicAMIの評価または線形ソルバーの行列寄与（ローカルでない隣接面の場合）が、独自の通信セットをトリガーし、次のcyclicAMIまたはプロセッサパッチに進む前に、これらの終了を待っていました。このリリースでは、すべての送受信を開始するプロセッサパッチと同様の経路をたどり、ローカル値を更新するためにリモートデータを使用する「消費」フェーズがあります。典型的な境界条件の評価や線形ソルバーの更新は、次のような形になります：&lt;br /&gt;
&lt;br /&gt;
* すべての initEvaluate/initInterfaceMatrixUpdate を行う（結合境界のみ）。プロセッサ、cyclicA(C)MI の場合、これはノンブロッキングの送受信を開始する。&lt;br /&gt;
* すべての通信が終了するのを待つ（または、ポーリング（v2306 nPollProcInterfaces）を使用して以下と組み合わせる）。&lt;br /&gt;
* すべてのevaluate/updateInterfaceMatrixを行う。これは、受信したデータを使用して、行列解への寄与を計算します。&lt;br /&gt;
&lt;br /&gt;
cyclicA(C)MIからの通信をプロセッサの境界条件とまったく同じ方法で処理することで、ボトルネックが発生する可能性が低くなり、スケーリングが向上することが期待される。さらなる最適化として、ローカル送受信バッファは一度割り当てられ、再利用される。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 641&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* any case with &amp;lt;code&amp;gt;cyclicAMI&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;cyclicACMI&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== GAMG : プロセッサ・アグロメレーションにおけるcyclicAMIのサポート ====&lt;br /&gt;
GAMGソルバーは、ローカルアグロメレーションに加えて、プロセッサ間で行列を結合することができます（プロセッサアグロメレーション）。これは、コア数が多い場合に有益です：&lt;br /&gt;
&lt;br /&gt;
* 最も粗いレベルを解くコアの数を減らす - 世界的な削減のほとんどは、最も粗いレベルで起こる。&lt;br /&gt;
* は、スムージングやプリコンディショニングなど、すべての演算の暗黙性を高める。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、cyclicAMIやcyclicACMIなど、すべての連成境界条件のプロセッサアグロメレーションを可能にするようにフレームワークが拡張されました。&lt;br /&gt;
&lt;br /&gt;
テストとして、以下を比較した。&lt;br /&gt;
&lt;br /&gt;
* 40x10x1のブロック1つ、および&lt;br /&gt;
* 2つの20x10x1ブロックがcyclicAMIを使って結合されている。&lt;br /&gt;
&lt;br /&gt;
どちらのケースも4つに分解され、GAMGソルバーとmasterCoarsestプロセッサーのアグロメーターを併用することで、すべての行列がmaster(s)に結合された。&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
solvers&lt;br /&gt;
{&lt;br /&gt;
    p&lt;br /&gt;
    {&lt;br /&gt;
        solver                  GAMG;&lt;br /&gt;
        processorAgglomerator   masterCoarsest;&lt;br /&gt;
        ..&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* シングルブロック（つまり、cyclicAMIはなく、プロセッサーフェイスのみ）：&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
                              nCells       nInterfaces&lt;br /&gt;
   Level  nProcs         avg     max       avg     max&lt;br /&gt;
   -----  ------         ---     ---       ---     ---&lt;br /&gt;
       0       4         100     100       1.5       2&lt;br /&gt;
       1       4          50      50       1.5       2&lt;br /&gt;
       2       1         100     100         0       0&lt;br /&gt;
       3       1          48      48         0       0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;すべてのプロセッサ面が内部となるため、境界の数（nInterfaces）は0となる。&lt;br /&gt;
&lt;br /&gt;
* 2ブロックの場合（つまり、cyclicAMIとプロセッサフェイス）：&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
                              nCells         nInterfaces&lt;br /&gt;
   Level  nProcs         avg     max         avg     max&lt;br /&gt;
   -----  ------         ---     ---         ---     ---&lt;br /&gt;
       0       4         100     100           3       3&lt;br /&gt;
       1       4          50      50           3       3&lt;br /&gt;
       2       1         100     100           2       2&lt;br /&gt;
       3       1          48      48           2       2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ここでは、2つのcyclicAMIのみが保存されるため、境界の数は3つから2つに減る。&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;cyclicA(C)MI&amp;lt;/code&amp;gt; :&lt;br /&gt;
** すべての面がローカルになると、動作は非分散にリセットされる。つまり、操作は追加のコピーなしで、提供されたフィールドに直接適用される。&lt;br /&gt;
** 回転変換はまだサポートされていません。これは基本的な制限ではありませんが、変換を考慮するためにステンシルを追加で書き換える必要があります。&lt;br /&gt;
* processorCyclic : (オーナーセルと隣接セルが異なるプロセッサ上にあるサイクリック) はまだサポートされていない。これは通常のプロセッサ境界として扱われるため、変換は失われる。processorCyclicはdecomposeParDictでパッチ制約を使うことで回避できることに注意。&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
constraints&lt;br /&gt;
{&lt;br /&gt;
    patches&lt;br /&gt;
    {&lt;br /&gt;
        //- Keep owner and neighbour on same processor for faces in patches&lt;br /&gt;
        //  (only makes sense for cyclic patches and cyclicAMI)&lt;br /&gt;
        type    preservePatches;&lt;br /&gt;
        patches (cyclic);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* masterCoarsestのみがテストされているが、コードは他のどのプロセッサー凝集法もサポートするはずである。&lt;br /&gt;
* これまでの限られたテストでは、cyclicAMIのプロセッサー集積の利点は示され ていない。これは、ボトルネック、例えば、大域的削減の数や暗黙性が問題となる場合にのみ有効である。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 645&lt;br /&gt;
&lt;br /&gt;
=== redistributeParとファイルシステムの改良 ===&lt;br /&gt;
このリリースでは、照合ファイル・フォーマットの一般的なサポートが改善され、redistributeParユーティリティの調整も行われました。これらの変更により、照合ファイル形式は以前よりも幅広いワークフローで使用できるようになりました。&lt;br /&gt;
&lt;br /&gt;
これらの変更に加え、分散ファイルシステムによるダイナミックコードの取り扱いが改善された。このようなタイプのシステムでは、動的にコンパイルされたライブラリも対応するサブランクに配布されるようになった。&lt;br /&gt;
&lt;br /&gt;
==== 照合されたインクルードファイルの取り扱いが改善された ====&lt;br /&gt;
以前のバージョンでは、&amp;quot;include &amp;quot;ファイルを照合と組み合わせて使用すると、ファイルの内容がランタイムで変更可能なものとして扱われる場合、非常に壊れやすいことがあった。今回、ウォッチド・ファイルの取り扱いが更新され、プロセッサー・ランク間の適切な対応が保証されるようになった。&lt;br /&gt;
&lt;br /&gt;
== Usability ==&lt;br /&gt;
&lt;br /&gt;
=== New verification and validation public repository ===&lt;br /&gt;
OpenFOAMソフトウェアの検証と妥当性確認に関するコミュニティへの貢献をホストする新しいパブリックリポジトリが開設されました： OpenFOAM Verification and Validation Repository。&lt;br /&gt;
&lt;br /&gt;
このリポジトリの主な目的は、OpenFOAMコミュニティがソフトウェアの検証と検証の側面を共有、協力、強化するための一元化されたプラットフォームを提供することです。コミュニティの集合的な知識と専門知識を結集することにより、OpenFOAMシミュレーションの全体的な品質を向上させ、数値モデリングのベストプラクティスを推進することを目指しています。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、Taylor-Green渦問題と円形Couette流れが組み込まれ、ケースのセットアップとドキュメンテーションのために提供されたテンプレートの実用的な応用が示されています。&lt;br /&gt;
&lt;br /&gt;
=== コンピレーション ===&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
OpenFOAMで使用されるC++標準は、GNUコンパイラでもc++14になりました。この変更により、推奨コンパイラの最小バージョンはgcc-7.5.0になりました。&lt;br /&gt;
&lt;br /&gt;
将来のコード移行を支援するため、「より厳しい」非推奨警告を有効にできるようになりました。これは WM_COMPILE_CONTROL 環境変数の +strict エントリでグローバルに、または wmake -strict で一度だけ有効にできます。これは主に開発者向けのオプションと考えることができます（多くの警告を生成する可能性があります）が、モジュールを書くときに便利で面白いかもしれません。&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
このバージョンには、MacOS上でのコンパイルと実行に関するいくつかの改良が含まれています。&lt;br /&gt;
&lt;br /&gt;
* AppleとARM64のFPE処理の改善（Guanyang Xue氏提供）&lt;br /&gt;
* rpathハンドリング&lt;br /&gt;
* xcrun サポート&lt;br /&gt;
&lt;br /&gt;
MacOS のコンパイルでは、rpath のサポートがデフォルトで有効になり、Apple SIP (System Integrity Protection) の影響に対する回避策がいくらか減って、これらのシステムでの OpenFOAM の実行が簡単になりました。WM_COMPILE_CONTROL環境変数に~rpathを追加することで、rpath処理を無効にできます。&lt;br /&gt;
&lt;br /&gt;
MacOSコンパイルでは、xcodeツール（xcrunなど）の使用もサポートするようになりました。これらはWM_COMPILE_CONTROL環境変数に+xcrunを追加することで有効になります。見つかると、これらのコンパイル・ルールが使用されます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cc   := xcrun cc&lt;br /&gt;
CC   := xcrun c++ -std=c++14&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Clang ===&lt;br /&gt;
clangベースのコンパイルで、ldリンカを使用するように明示的に指定できるようになりました（注意：clangがldを使用するかlldを使用するかはインストールに依存します）。リンカの選択は環境変数 WM_COMPILE_CONTROL の対応するエントリで定義されます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
- `+gold`    : use gold linker&lt;br /&gt;
- `+link-ld` : use   ld linker&lt;br /&gt;
- `+lld`     : use  lld linker&lt;br /&gt;
- `+mold`    : use mold linker&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenMP ===&lt;br /&gt;
openmp と no-openmp の扱いが強化された。&amp;quot;+openmp&amp;quot; (wmake -openmp) よりも &amp;quot;~openmp&amp;quot; (wmake -no-openmp) の方が優先されます。&lt;br /&gt;
&lt;br /&gt;
これにより、一般的に+openmpを指定する場合はrobusterとなり、特定のビルド・コンポーネント（スタティック・ライブラリやMPIブリッジ・コードなど）を指定する場合は~openmpとなる。&lt;br /&gt;
&lt;br /&gt;
=== Profiling ===&lt;br /&gt;
このバージョンには、Extraeプロファイリング用のフックが含まれています。デフォルトでは、フックは常にOpenFOAMと一緒にビルドされますが、LD_PRELOADによってExtraeが実際にロードされるまで休止しています。これにより、OpenFOAMをその目的専用に再コンパイルすることなく、Extraeのトレースが可能になります。&lt;br /&gt;
&lt;br /&gt;
Josep Pocurull（Barcelona Supercomputing Center）により提供され、exaFOAMプロジェクトの一部として使用されたコード。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/global/profiling/profilingTrigger.C&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 652&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2312%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=848</id>
		<title>OpenFOAM v2312リリースノート</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2312%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=848"/>
		<updated>2023-12-24T08:08:36Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: ページの作成:「OpenCFDは、2023年12月リリースのOpenFOAM® v2312を発表いたします。このリリースは、コードの多くの領域にわたってOpenFOAM-v2306の機能を拡張しています。この新機能は、OpenCFDの顧客からのスポンサーによる開発、内部資金による開発、OpenFOAMコミュニティからの機能や変更の統合を表しています。  OpenFOAMはOpenCFDによってGPLライセンスの下で配布されてい…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenCFDは、2023年12月リリースのOpenFOAM® v2312を発表いたします。このリリースは、コードの多くの領域にわたってOpenFOAM-v2306の機能を拡張しています。この新機能は、OpenCFDの顧客からのスポンサーによる開発、内部資金による開発、OpenFOAMコミュニティからの機能や変更の統合を表しています。&lt;br /&gt;
&lt;br /&gt;
OpenFOAMはOpenCFDによってGPLライセンスの下で配布されています。様々なLinuxや他のPOSIXシステムでのコンパイルに適したソースコードパッケージに加え、このリリースにはコンパイル済みのバイナリパッケージも多数あります。&lt;br /&gt;
&lt;br /&gt;
Ubuntu Linux: Ubuntu 22.04(LTS)、20.04(LTS)、18.04(LTS)、23.04、22.10 用パッケージインストール&lt;br /&gt;
&lt;br /&gt;
openSUSE Linux: Leap 15.5 用パッケージインストール&lt;br /&gt;
&lt;br /&gt;
Redhat Linuxの亜種: epel 9用のパッケージインストール; Fedora 37&lt;br /&gt;
&lt;br /&gt;
Windowsユーザーには、コンパイル済みパッケージについて3つの選択肢があります（詳細）：&lt;br /&gt;
&lt;br /&gt;
Windows Subsystem for Linux（Ubuntu、openSUSEなどベース）を使用する。&lt;br /&gt;
&lt;br /&gt;
クロスコンパイルによるネイティブ実行ファイル&lt;br /&gt;
&lt;br /&gt;
docker インストール&lt;br /&gt;
&lt;br /&gt;
OpenFOAMのapptainerサポートは、事前にアセンブルされたイメージではなく、記述ファイルによって提供されます：&lt;br /&gt;
&lt;br /&gt;
パッケージング/コンテナ参照&lt;br /&gt;
&lt;br /&gt;
Mac OSXユーザーは、ソースからコンパイルするか、Dockerコンテナを使ってコンパイル済みのパッケージを使用するオプションがあります（詳細）。&lt;br /&gt;
&lt;br /&gt;
== Pre-processing ==&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMesh：自動リークパスクロージャーから面を書き込む ===&lt;br /&gt;
snappyHexMeshにはメッシュ内の任意の位置とメッシュ外の位置の間のパスとして定義されたサーフェスのリークを自動的に閉じるオプションがあります。このリリースではリークを閉じるために使用された面はpostProcessingディレクトリのファイルに書き込まれます。&lt;br /&gt;
&lt;br /&gt;
下図は、ギャップのある球体（灰色）、スナップされたメッシュライン（青）、リークを閉じる面（赤）からなるテストケースを示しています：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ファイル書き込みフォーマットはsnappyHexMeshDictの新しいエントリーで選択できます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
//// Format for writing lines. E.g. leak path. Default is vtk format.&lt;br /&gt;
//setFormat ensight;&lt;br /&gt;
&lt;br /&gt;
//// Format to use for surfaces. E.g. leak-closure faces. Default is vtk format.&lt;br /&gt;
//surfaceFormat vtk;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/snappyHexMesh/sphere_gapClosure&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMesh：新しい複数の内側ポイント ===&lt;br /&gt;
snappyHexMeshのセルゾーンはinsidePointを指定することで作成できます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
refinementSurfaces&lt;br /&gt;
{&lt;br /&gt;
    ..&lt;br /&gt;
    cellZoneInside insidePoint;    // outside/insidePoint&lt;br /&gt;
    insidePoint    (1 1 1);        // if (cellZoneInside == insidePoint)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;1つのinsidePointではなく、複数のinsidePointが用意された：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cellZoneInside insidePoints;      // outside/insidePoint&lt;br /&gt;
insidePoints   ((1 1 1));         // if (cellZoneInside == insidePoint)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;下の図では、ジオメトリは2つのボックス（ワイヤーフレーム）で構成され、上のボックスは2つの切り離されたメッシュ領域をカバーしている。赤で示されたセルゾーンは、3つの別々のメッシュ領域を使用して作成されています。checkMeshユーティリティは、切断されたリージョンを表示するために使うことができます。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/snappyHexMesh/insidePoints&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/refinementSurfaces/surfaceZonesInfo.H&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMesh：並列メッシュの負荷分散 ===&lt;br /&gt;
snappyHexMeshは並列実行時に自動的にメッシュのバランスをとることができます。それは以下のどちらかになります&lt;br /&gt;
&lt;br /&gt;
* 変更が小さすぎる場合はバランスを取らない - maxLoadUnbalanceまたはmaxCellUnbalance設定を参照。&lt;br /&gt;
* maxLocalCells設定を参照してください。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、各ステップでメッシュのアンバランスがプリントされます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Layer mesh : cells:353749  faces:1108448  points:406303  unbalance:0.00110248&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;精製前のバランスは、セルの重みを与えることで実装されることに注意。各精製されるセルは8ずつカウントされる。しかし、これは単純な分解法、例えば階層的な分解法にのみ有効である。scotch と KaHip メソッドでは、カット数を含む重みを使ってアンバランスを最小化する。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* any parallel snappyHexMesh case&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C&lt;br /&gt;
&lt;br /&gt;
Related issues&lt;br /&gt;
&lt;br /&gt;
* Issue 3034&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMesh：レイヤーごとの追加 ===&lt;br /&gt;
OpenFOAM v2206リリースでは、snappyHexMeshが拡張され、nOuterIterエントリーを使用して複数パスでレイヤーを追加できるようになりました。ここでは、$FOAM_TUTORIALS/incompressible/pisoFoam/LES/motorBike/motorBikeチュートリアルを出発点として、どのように改良されたレイヤーの追加を実行できるかをデモしたいと思います：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
relativeSizes false; // true&lt;br /&gt;
&lt;br /&gt;
// Per final patch (so not geometry!) the layer information&lt;br /&gt;
layers&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;(lowerWall|motorBike).*&amp;quot;&lt;br /&gt;
    {&lt;br /&gt;
        nSurfaceLayers 16;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Expansion factor for layer mesh&lt;br /&gt;
expansionRatio 1.2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;重要な設定は、外側の反復回数とメッシュ・モーション・ソルバーである：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
// Overall max number of layer addition iterations&lt;br /&gt;
nLayerIter      25;&lt;br /&gt;
&lt;br /&gt;
// Add layers in multiple passes - gives layers a chance to rotate&lt;br /&gt;
nOuterIter      4;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
meshShrinker    displacementMotionSolver;&lt;br /&gt;
solver          displacementLaplacian;&lt;br /&gt;
displacementLaplacianCoeffs&lt;br /&gt;
{&lt;br /&gt;
    diffusivity quadratic inverseDistance (lowerWall upperWall &amp;quot;motorBike*&amp;quot;)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;メッシュの品質基準を緩めることで、（全体的なメッシュ品質は維持したまま）この複雑な形状でもレイヤーカバレッジを劇的に向上させることができる。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/mesh/snappyHexMesh/addLayersToFaceZone&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C&lt;br /&gt;
&lt;br /&gt;
=== Nastranサーフェスリーダーの改良 ===&lt;br /&gt;
NASTRANパーサーが更新され、PSHELL名の新しいANSA規約に対応しました。これにより、snappyHexMeshなど、より多くの場所でNASTRANファイルを直接使用することができるようになりました。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Issue 3009&lt;br /&gt;
&lt;br /&gt;
=== checkMeshユーティリティの改良 ===&lt;br /&gt;
checkMesh ユーティリティに writeChecks オプションが追加されました：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
checkMesh -writeChecks &amp;lt;format&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これにより、メッシュ・チェックのフォーマットを含むファイルが生成される：&lt;br /&gt;
&lt;br /&gt;
* dictionary : OpenFOAM dictionary;&lt;br /&gt;
* json : JSON format.&lt;br /&gt;
&lt;br /&gt;
例えば、コマンドを使う：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
checkMesh -allGeometry -allTopology -writeChecks JSON&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;motorBikeチュートリアルでは、caseディレクトリにcheckMesh.jsonファイルが生成される：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;maxNonOrth&amp;quot; : 64.9999,&lt;br /&gt;
    &amp;quot;aveNonOrth&amp;quot; : 9.92427,&lt;br /&gt;
    &amp;quot;maxSkew&amp;quot; : 9.25719,&lt;br /&gt;
    &amp;quot;nWarnSkew&amp;quot; : 12,&lt;br /&gt;
    &amp;quot;minDeterminant&amp;quot; : 0,&lt;br /&gt;
    &amp;quot;aveDeterminant&amp;quot; : 1.55371,&lt;br /&gt;
    &amp;quot;thresholdDeterminant&amp;quot; : 0.001,&lt;br /&gt;
    &amp;quot;nErrorDeterminant&amp;quot; : 1274,&lt;br /&gt;
    &amp;quot;minFaceWeight&amp;quot; : 0.0216708,&lt;br /&gt;
    &amp;quot;aveFaceWeight&amp;quot; : 0.465687,&lt;br /&gt;
    &amp;quot;thresholdFaceWeight&amp;quot; : 0.05,&lt;br /&gt;
    &amp;quot;nErrorFaceWeight&amp;quot; : 1143,&lt;br /&gt;
    &amp;quot;minFaceVolumeRatio&amp;quot; : 0.0101126,&lt;br /&gt;
    &amp;quot;aveFaceVolumeRatio&amp;quot; : 0.846049&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_UTILITIES/mesh/manipulation/checkMesh/checkMesh.C&lt;br /&gt;
&lt;br /&gt;
=== subsetMeshユーティリティの改良 ===&lt;br /&gt;
subsetMesh ユーティリティが更新され、通常の -patches 選択を変更する -exclude-patches オプションを受け付けるようになりました。&lt;br /&gt;
&lt;br /&gt;
この変更により、最も近い露出パッチの指定が簡単になりました。&lt;br /&gt;
&lt;br /&gt;
== Numerics ==&lt;br /&gt;
&lt;br /&gt;
=== コミュニティへの貢献 随伴形状最適化の改善 ===&lt;br /&gt;
形状最適化のための感度微分を計算するためのE-SIとFI定式化間の整合性が改善されました。naca0012/laminar/moment/primalAdjointチュートリアルから取得した、変更前後のコード動作の例を以下に示します：&lt;br /&gt;
&lt;br /&gt;
一貫した点／面の感度マップ&lt;br /&gt;
&lt;br /&gt;
v2306とv2312で計算されたドラッグ感度マップを比較すると、a)新しいポイント-フェイス補間は、生の、つまり平滑化されていない感度でも、より滑らかな結果を生成する。&lt;br /&gt;
&lt;br /&gt;
さらなる改善点は以下の通り：&lt;br /&gt;
&lt;br /&gt;
* 不必要に新しいアドジョイントフィールドを割り当てることなく幾何学的制約を定義するための新しいアドジョイントソルバ（null）と目的関数（geometric）タイプ&lt;br /&gt;
&lt;br /&gt;
* 不等式制約のある最適化問題に取り組むための3つの新しい更新法（ISQP, nullSpace, MMA）&lt;br /&gt;
* 設計変数に境界を導入。ボリューメトリックBスプラインの場合、最適化を通してメッシュの品質をより良く保つことができます。&lt;br /&gt;
* 最適化ループの収束基準の導入。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/shapeOptimisation/naca0012/laminar/multipleConstraints&lt;br /&gt;
&lt;br /&gt;
Guide&lt;br /&gt;
&lt;br /&gt;
* The updated user guide for v2312 can be found here&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* Merge request MR!649&lt;br /&gt;
* Overhaul of the adjoint library to ease extension to flow physics other than incompressible flows - see Commit 9a89fcc0 for details;&lt;br /&gt;
* Corrections/improvements to shape optimisation - see Commit 9a89fcc0 for details.&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* The software was developed by PCOpt/NTUA and FOSS GP&lt;br /&gt;
* Integration in collaboration with OpenCFD&lt;br /&gt;
&lt;br /&gt;
=== コミュニティへの貢献 トポロジーに基づく新しいアジョイント最適化 ===&lt;br /&gt;
OpenFOAM v2312では、空隙率ベースまたはレベルセットアプローチによる新しいトポロジー最適化機能が追加されました。どちらも、設計されたジオメトリをSTLとしてエクスポートする機能を備えており、製造やボディフィットグリッドによる再評価に利用できます。&lt;br /&gt;
&lt;br /&gt;
空隙率ベースのアプローチは、計算領域の非生産的な部分を固めることでブロックする設計変数の場（人工空隙率α）に依存する。得られた解の平滑性を高めるために、正則化方程式を解いて中間場α̃を計算し、次にシャープニング/プロジェクションステップを経てほぼ二値の場βを計算します。後者は、固化した領域（すなわちβ≈1の領域）で流れ解をゼロにするソース項を流れ方程式に導入するために使用されます。上記のプロセスの手順を以下に示す。&lt;br /&gt;
&lt;br /&gt;
次の表は、同じケースの3つの異なるバリエーション、すなわち、Jpt＜Jpttarget制約（右）の下で、総圧力損失（Jpt）の最小化（左）、下部出口と右出口間の体積流量の均等配分制約（Jm）を伴うJptの最小化（中央）、および流れの均一性（Jun）の最大化（右）に対するトポロジー最適化の結果を示している。&lt;br /&gt;
&lt;br /&gt;
ケースは、adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/BPにあります。&lt;br /&gt;
&lt;br /&gt;
次の表は、同様の目的関数と制約関数を持つ3次元多様体のトポロジー最適化の結果を示しています。最初の行は、最適化サイクル中の計算領域の流体部分と固体部分の境界の進行を示し、最後の行は、最適化された3つの形状のSTLファイルを示しています。後者の生成プロセスは自動化されており、各最適化サイクルの終了時に実行されます。これらのSTLファイルは、適切な境界条件によるボディフィットシミュレーションや、その後の形状最適化、さらには製造に使用することができます。&lt;br /&gt;
&lt;br /&gt;
ケースはtopologyOptimisation/monoFluidAero/laminar/3DBoxにあります。&lt;br /&gt;
&lt;br /&gt;
==== 下位互換性 ====&lt;br /&gt;
optimisationDict.optimisationの項目が少し変わりました。この変更は、例えば、$FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/shapeOptimisation/motorBikeのoptimisationDictを以前のものと比較することで確認できます。&lt;br /&gt;
&lt;br /&gt;
Tutorials&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/topologyOptimisation&lt;br /&gt;
&lt;br /&gt;
Guide&lt;br /&gt;
&lt;br /&gt;
* The updated user guide for v2312 can be found here&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* Merge request MR!649&lt;br /&gt;
* Overhaul of the adjoint library to ease extension to flow physics other than incompressible flows - see Commit 9a89fcc0 for details;&lt;br /&gt;
* Corrections/improvements to shape optimisation - see Commit 9a89fcc0 for details.&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* The software was developed by PCOpt/NTUA and FOSS GP&lt;br /&gt;
* Integration in collaboration with OpenCFD&lt;br /&gt;
&lt;br /&gt;
== Solvers and physical models ==&lt;br /&gt;
&lt;br /&gt;
=== fvOptionsの改良：ポイントの移動 ===&lt;br /&gt;
有限体積オプション（fvOptions）フレームワークが改良されました：&lt;br /&gt;
&lt;br /&gt;
* 入力辞書の更新により、セル選択を実行時に更新できるようになりました。&lt;br /&gt;
* 空間内を移動する点をモデル化する新しい方法。&lt;br /&gt;
&lt;br /&gt;
最小限の使用例は以下の通り：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
fvOption1&lt;br /&gt;
{&lt;br /&gt;
    // Optional entries&lt;br /&gt;
    updateSelection         true;&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
fvOption2&lt;br /&gt;
{&lt;br /&gt;
    // Mandatory entries&lt;br /&gt;
    selectionMode   movingPoints;&lt;br /&gt;
&lt;br /&gt;
    movingPoints&lt;br /&gt;
    {&lt;br /&gt;
        point1        table&lt;br /&gt;
        (&lt;br /&gt;
            // time    position&lt;br /&gt;
            (  0 (0 0 0.75))&lt;br /&gt;
            (  1 (0 0 0.65))&lt;br /&gt;
            (  2 (0 0 0.55))&lt;br /&gt;
            (  3 (0 0 0.45))&lt;br /&gt;
            (  4 (0 0 0.35))&lt;br /&gt;
            (  5 (0 0 0.25))&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        point2        (-0.25 -0.25 0.5);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/fvOptions/cellSetOption/cellSetOption.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 630&lt;br /&gt;
&lt;br /&gt;
=== 新しい fvOption: マップされたフィールド制約 ===&lt;br /&gt;
MapFieldConstraintは、外部メッシュからのソース・フィールドを使用して、&amp;lt;Type&amp;gt;型の指定フィールドに値の制約を課します。ここで、&amp;lt;Type&amp;gt;には{scalar, vector, sphericalTensor, symmTensor, tensor}を指定できます。オプションとして、ソースフィールドは時間経過とともに平行移動または回転させることができます。&lt;br /&gt;
&lt;br /&gt;
考えられる用途は、例えば、移動する電気源の影響をモデル化することである。最小限の使用例を以下に示す：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
MapFieldConstraint1&lt;br /&gt;
{&lt;br /&gt;
    // Mandatory entries&lt;br /&gt;
    type                MapFieldConstraint;&lt;br /&gt;
    field               &amp;lt;word&amp;gt;;&lt;br /&gt;
    srcMesh             &amp;lt;fileName&amp;gt;;&lt;br /&gt;
    mapMethod           &amp;lt;word&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    // Optional entries&lt;br /&gt;
    consistent          &amp;lt;bool&amp;gt;;&lt;br /&gt;
    patchMapMethod      &amp;lt;word&amp;gt;;&lt;br /&gt;
    transform&lt;br /&gt;
    {&lt;br /&gt;
        // Optional entries&lt;br /&gt;
        position    &amp;lt;Function1&amp;lt;vector&amp;gt;&amp;gt;;&lt;br /&gt;
        origin      &amp;lt;vector&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
        direction   &amp;lt;Function1&amp;lt;vector&amp;gt;&amp;gt;;&lt;br /&gt;
        normal      &amp;lt;vector&amp;gt;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Conditional entries&lt;br /&gt;
&lt;br /&gt;
        // when consistent=false&lt;br /&gt;
        patchMap        &amp;lt;HashTable&amp;lt;word&amp;gt;&amp;gt;;  // (&amp;lt;patchSrc&amp;gt; &amp;lt;patchTgt&amp;gt;);&lt;br /&gt;
        cuttingPatches  &amp;lt;wordList&amp;gt;;  // (&amp;lt;patchTgt1&amp;gt; ... &amp;lt;patchTgtN&amp;gt;);&lt;br /&gt;
&lt;br /&gt;
    // Inherited entries&lt;br /&gt;
&lt;br /&gt;
        ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/fvOptions/constraints/general/mapFieldConstraint/MapFieldConstraint.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 630&lt;br /&gt;
&lt;br /&gt;
=== コミュニティへの貢献：新しい乱流技術委員会サブモジュール ===&lt;br /&gt;
OpenFOAMガバナンス内のTurbulence Technical Committeeのネストされたサブモジュールを含む新しいコミュニティサブモジュールが開始されました。このサブモジュールは、公開されている Turbulence Technical Committee のリポジトリでホストされています。&lt;br /&gt;
&lt;br /&gt;
コミュニティ・サブモジュールは、乱流モデリングに関連する学術的・産業的な貢献のホストとして機能し、知識交換の場を作り、この分野とOpenFOAMの両方を発展させるコラボレーションを促進します。&lt;br /&gt;
&lt;br /&gt;
BitbucketやGitHubのようなGitベースのソースコード・リポジトリ・ホスティング・サービスでホストし、このサブモジュールを介してOpenFOAMソフトウェアにリンクすることができます。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、サブモジュールにlibWallModelledLESライブラリーが組み込まれ、壁面モデルによるラージ・エディ・シミュレーション（WMLES）の領域でOpenFOAMの機能が拡張されました。この乱流モデリング手法は、乱流境界層の内部領域の解像度を回避することで、費用対効果の高いLESを可能にします。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $WM_PROJECT_DIR/modules/turbulence-community&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* OpenCFD would like to acknowledge and thank Turbulence Technical Committee members for their contributions and help.&lt;br /&gt;
&lt;br /&gt;
=== 改善されたラグランジュ・ブラウン運動 ===&lt;br /&gt;
このバージョンでは、ブラウン運動の3次分布のサポートが復活しました。しかし、特に指定がない限り、（互換性のために）デフォルトの球形分布が引き続き使用されます。&lt;br /&gt;
&lt;br /&gt;
このバージョンでは、ブラウン運動の3次分布のサポートが復活しました。&lt;br /&gt;
&lt;br /&gt;
しかし、特に指定がない限り、適度に小さな時間ステップでは不正確であるにもかかわらず、（互換性のために）デフォルトの球面処理が引き続き使用されます。&lt;br /&gt;
&lt;br /&gt;
三次分布は、球面処理が明示的に無効化されている場合に使用される。例えば&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
subModels&lt;br /&gt;
{&lt;br /&gt;
    particleForces&lt;br /&gt;
    {&lt;br /&gt;
        sphereDrag;&lt;br /&gt;
        BrownianMotion&lt;br /&gt;
        {&lt;br /&gt;
            lambda     2e-10;&lt;br /&gt;
            turbulence false;&lt;br /&gt;
            spherical  false;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;立方体分布と球形分布の違いは次の図に見られる。&lt;br /&gt;
&lt;br /&gt;
変更の報告、検証、テストはGuanyang Xueの好意によるものである。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.H&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Issue 2922&lt;br /&gt;
&lt;br /&gt;
Merge request 634&lt;br /&gt;
&lt;br /&gt;
== Post-processing ==&lt;br /&gt;
&lt;br /&gt;
=== 新しいAbaqusサンプルセット ===&lt;br /&gt;
新しい abaqusMesh セットは、Abaqus メッシュポイント形式を使用してファイルからサンプル位置を導出します。使用例：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
sets&lt;br /&gt;
{&lt;br /&gt;
    cone25 // user-specified set name&lt;br /&gt;
    {&lt;br /&gt;
        type        abaqusMesh;&lt;br /&gt;
        file        &amp;quot;abaqusMesh.inp&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        // Optional entries&lt;br /&gt;
&lt;br /&gt;
        // Scale, e.g. mm to m&lt;br /&gt;
        scale       0.001;&lt;br /&gt;
&lt;br /&gt;
        // Search distance when the sample point is not located in a cell&lt;br /&gt;
        maxDist     0.25;&lt;br /&gt;
&lt;br /&gt;
        ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Tutorials&lt;br /&gt;
&lt;br /&gt;
* TBA&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/sampling/sampledSet/abaqus&lt;br /&gt;
&lt;br /&gt;
=== 新しいAbaqusセットライター ===&lt;br /&gt;
新しいAbaqusセットライターはOpenFOAMセットデータをAbaqusフォーマットに変換します。使用例&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
T&lt;br /&gt;
{&lt;br /&gt;
    type sets;&lt;br /&gt;
    setFormat abaqus;&lt;br /&gt;
    fields (T);&lt;br /&gt;
    sets&lt;br /&gt;
    {&lt;br /&gt;
        ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;オプションの書式オプションは、formatOptions辞書内のabaqusサブ辞書で提供されます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
formatOptions&lt;br /&gt;
{&lt;br /&gt;
    abaqus&lt;br /&gt;
    {&lt;br /&gt;
        format      ascii;&lt;br /&gt;
&lt;br /&gt;
        // Optional entries&lt;br /&gt;
&lt;br /&gt;
        // Custom header: $ entries are substituions&lt;br /&gt;
        header&lt;br /&gt;
        (&lt;br /&gt;
            &amp;quot;** OpenFOAM abaqus output&amp;quot;&lt;br /&gt;
            &amp;quot;** Project $FOAM_CASE&amp;quot;&lt;br /&gt;
            &amp;quot;** File $FILE_NAME&amp;quot;&lt;br /&gt;
            &amp;quot;** $FIELD_NAME Time t=$TIME&amp;quot;&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        // Write geometry in addition to field data&lt;br /&gt;
        writeGeometry yes;&lt;br /&gt;
&lt;br /&gt;
        // Null value when sample value is not found&lt;br /&gt;
        // Default is scalar::min&lt;br /&gt;
        nullValue   0;&lt;br /&gt;
&lt;br /&gt;
        // Insert additional time sub-directory in the output path&lt;br /&gt;
        // - yes : postProcessing/&amp;lt;fo-name&amp;gt;/&amp;lt;time&amp;gt;/&amp;lt;file&amp;gt;&lt;br /&gt;
        // - no : postProcessing/&amp;lt;fo-name&amp;gt;/&amp;lt;file&amp;gt;&lt;br /&gt;
        useTimeDir  no;&lt;br /&gt;
&lt;br /&gt;
        // Available when 'useTimeDir' is 'no' to disambiguate file names&lt;br /&gt;
&lt;br /&gt;
        // Time base for output file names:&lt;br /&gt;
        // - 'time' : &amp;lt;base&amp;gt;.inp_&amp;lt;field&amp;gt;.&amp;lt;time&amp;gt;&lt;br /&gt;
        // - 'iteration' : &amp;lt;base&amp;gt;.inp_&amp;lt;field&amp;gt;.&amp;lt;iteration&amp;gt;&lt;br /&gt;
        timeBase    iteration;&lt;br /&gt;
&lt;br /&gt;
        // Optional start counters when using timeBase iteration&lt;br /&gt;
        writeIndex&lt;br /&gt;
        (&lt;br /&gt;
            T 1&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Tutorials&lt;br /&gt;
&lt;br /&gt;
* TBA&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/meshTools/coordSet/writers/abaqus/abaqusCoordSetWriter.C&lt;br /&gt;
&lt;br /&gt;
=== パッチ・シード・セットの改善 ===&lt;br /&gt;
patchSeed sampled setがパッチ全体で一様にサンプルシードを計算するようになりました。以前の実装では、顔のインデックスをパッチ全体で一様にサンプリングしていましたが、その副作用として、より小さな顔に偏りがありました。&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
streamline5&lt;br /&gt;
{&lt;br /&gt;
    type                streamLine;&lt;br /&gt;
    libs                (fieldFunctionObjects);&lt;br /&gt;
    U                   U;&lt;br /&gt;
    fields              (U p);&lt;br /&gt;
    setFormat           vtk;&lt;br /&gt;
    direction           forward;&lt;br /&gt;
    lifeTime            20000;&lt;br /&gt;
    cloud               particleTracks;&lt;br /&gt;
    seedSampleSet&lt;br /&gt;
    {&lt;br /&gt;
        type            patchSeed;&lt;br /&gt;
        axis            xyz;&lt;br /&gt;
        patches         (&amp;quot;inlet1&amp;quot;);&lt;br /&gt;
        maxPoints       40;&lt;br /&gt;
    }&lt;br /&gt;
    interpolationScheme cellPoint;&lt;br /&gt;
    trackLength         0.001;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/simpleFoam/motorBike/system/wallBoundedStreamLines&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/sampling/sampledSet/patchSeed&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 647&lt;br /&gt;
&lt;br /&gt;
=== 新しいケース情報機能オブジェクト ===&lt;br /&gt;
新しい caseInfo 関数オブジェクトは、実行時または後処理の一部として、ソルバーとケースの情報を生成します。収集されるデータには以下が含まれます：&lt;br /&gt;
&lt;br /&gt;
* メタデータ：ケース名、パス、タイムディレクトリ数など。&lt;br /&gt;
* 辞書エントリ : 任意の入力辞書からすべて/選択したものを抽出&lt;br /&gt;
** fvSolutionからUリニアソルバーを取得するには、'solvers/U/solver'などのスコープを使用する。&lt;br /&gt;
** はワイルドカードをサポートしている。例えば、fvSolution U ソルバー・キーワードが&amp;quot;(U|k|epsilon) &amp;quot;であった場合。&lt;br /&gt;
** include'または'exclude'リストを使用して、含める/除外するエントリ名の選択を制限する。&lt;br /&gt;
* メッシュ統計：点、面、セルの数、境界、ゾーン名など。&lt;br /&gt;
* 関数オブジェクトの結果：関数オブジェクトの結果のキャッシュ値など&lt;br /&gt;
&lt;br /&gt;
使用例：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
caseInfo1&lt;br /&gt;
{&lt;br /&gt;
    type        caseInfo;&lt;br /&gt;
    libs        (utilityFunctionObjects);&lt;br /&gt;
&lt;br /&gt;
    writeFormat json; // josn | dictionary&lt;br /&gt;
&lt;br /&gt;
    // List of dictionaries - retrieve using 'path' or registered 'name'&lt;br /&gt;
    dictionaries&lt;br /&gt;
    {&lt;br /&gt;
        fvSolution&lt;br /&gt;
        {&lt;br /&gt;
            name        &amp;quot;fvSolution&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
            // include all entries by default&lt;br /&gt;
        }&lt;br /&gt;
        controlDict&lt;br /&gt;
        {&lt;br /&gt;
            path        &amp;quot;system/controlDict&amp;quot;;&lt;br /&gt;
            include&lt;br /&gt;
            (&lt;br /&gt;
                &amp;quot;application&amp;quot;&lt;br /&gt;
                &amp;quot;deltaT&amp;quot;&lt;br /&gt;
                &amp;quot;startTime&amp;quot;&lt;br /&gt;
                &amp;quot;endTime&amp;quot;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Extract function object results&lt;br /&gt;
    functionObjects (pressureDifference sample1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;出力例&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;meta&amp;quot; : {&lt;br /&gt;
        &amp;quot;case&amp;quot; : &amp;quot;heatExchanger&amp;quot;,&lt;br /&gt;
        &amp;quot;path&amp;quot; : &amp;quot;chtMultiRegionSimpleFoam/heatExchanger&amp;quot;,&lt;br /&gt;
        &amp;quot;regions&amp;quot; : [&amp;quot;air&amp;quot;, &amp;quot;porous&amp;quot;],&lt;br /&gt;
        &amp;quot;nTimes&amp;quot; : 7,&lt;br /&gt;
        &amp;quot;nProc&amp;quot; : 1&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;regions&amp;quot; : {&lt;br /&gt;
        &amp;quot;air&amp;quot; : {&lt;br /&gt;
            &amp;quot;mesh&amp;quot; : {&lt;br /&gt;
                &amp;quot;nGeometricD&amp;quot; : 3,&lt;br /&gt;
                &amp;quot;nSolutionD&amp;quot; : 3,&lt;br /&gt;
                &amp;quot;nPoints&amp;quot; : 252991,&lt;br /&gt;
                &amp;quot;nFaces&amp;quot; : 739260,&lt;br /&gt;
                &amp;quot;nCells&amp;quot; : 243000,&lt;br /&gt;
                &amp;quot;nPatches&amp;quot; : 4,&lt;br /&gt;
                &amp;quot;pointZones&amp;quot; : [],&lt;br /&gt;
                &amp;quot;faceZones&amp;quot; : [&amp;quot;rotorBlades&amp;quot;, &amp;quot;baffleFaces&amp;quot;],&lt;br /&gt;
                &amp;quot;cellZones&amp;quot; : [&amp;quot;cylinder&amp;quot;, &amp;quot;innerCylinder&amp;quot;, &amp;quot;rotor&amp;quot;],&lt;br /&gt;
                &amp;quot;boundsMin&amp;quot; : [0, 0, 0],&lt;br /&gt;
                &amp;quot;boundsMax&amp;quot; : [5.000000e-01, 5.000000e-01, 5.000000e-01],&lt;br /&gt;
                &amp;quot;clouds&amp;quot; : []&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;boundary&amp;quot; : {&lt;br /&gt;
                &amp;quot;types&amp;quot; : {&lt;br /&gt;
                    &amp;quot;walls&amp;quot; : &amp;quot;wall&amp;quot;,&lt;br /&gt;
                    &amp;quot;inlet&amp;quot; : &amp;quot;patch&amp;quot;,&lt;br /&gt;
                    &amp;quot;outlet&amp;quot; : &amp;quot;patch&amp;quot;,&lt;br /&gt;
                    &amp;quot;blades&amp;quot; : &amp;quot;wall&amp;quot;&lt;br /&gt;
                },&lt;br /&gt;
                &amp;quot;fields&amp;quot; : {&lt;br /&gt;
                    &amp;quot;alphat&amp;quot; : {&lt;br /&gt;
                        &amp;quot;walls&amp;quot; : &amp;quot;compressible::alphatWallFunction&amp;quot;,&lt;br /&gt;
                        &amp;quot;inlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;outlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;blades&amp;quot; : &amp;quot;compressible::alphatWallFunction&amp;quot;&lt;br /&gt;
                    },&lt;br /&gt;
                    &amp;quot;nut&amp;quot; : {&lt;br /&gt;
                        &amp;quot;walls&amp;quot; : &amp;quot;nutkWallFunction&amp;quot;,&lt;br /&gt;
                        &amp;quot;inlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;outlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;blades&amp;quot; : &amp;quot;nutkWallFunction&amp;quot;&lt;br /&gt;
                    },&lt;br /&gt;
                    &amp;quot;p&amp;quot; : {&lt;br /&gt;
                        &amp;quot;walls&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;inlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;outlet&amp;quot; : &amp;quot;calculated&amp;quot;,&lt;br /&gt;
                        &amp;quot;blades&amp;quot; : &amp;quot;calculated&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/utilities/caseInfo&lt;br /&gt;
&lt;br /&gt;
== DMDによる新しい低次モデリング磁場再構成 ==&lt;br /&gt;
動的モード分解（DMD）機能は、OpenFOAM v2006で導入され、その後OpenFOAM v2106で拡張されました。このリリースにより、OpenFOAMは、DMDの主な利点の1つである、任意の中間時点や将来の時点におけるCFD計算を必要とせずに、与えられたモードとそれに関連するダイナミクスに基づいて場を生成する機能を習得しました。&lt;br /&gt;
&lt;br /&gt;
この機能により、ユーザーはシミュレーション全体をいくつかのモードとモードダイナミクスに凝縮し、CFD解析を追加することなく、任意の時間における場の生成や将来の状態の予測を行うことができます。&lt;br /&gt;
&lt;br /&gt;
もう一つの潜在的な利点は、ユーザーがシミュレーションを短縮し、大規模なシミュレーションを行うことなく流れ場の将来の状態を予測できることである。これは、より短時間のシミュレーションで得られたモードとモードダイナミクスを使用することで実現できます。&lt;br /&gt;
&lt;br /&gt;
結果の質は、基礎となる縮小モデルの能力と入力データの質に依存することに留意すべきである。再構成結果を改善するためには、流れからモードが正しく抽出されていることを確認する必要がある。&lt;br /&gt;
&lt;br /&gt;
system/ROMfieldsDictを使った最小の例は以下の通り：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
// Mandatory entries&lt;br /&gt;
ROMmodel        &amp;lt;word&amp;gt;;&lt;br /&gt;
field           &amp;lt;word&amp;gt;;&lt;br /&gt;
object          &amp;lt;word&amp;gt;;&lt;br /&gt;
deltaT          &amp;lt;scalar&amp;gt;;&lt;br /&gt;
time            &amp;lt;scalar&amp;gt;;&lt;br /&gt;
modes           &amp;lt;labelList&amp;gt;;&lt;br /&gt;
amplitudes      &amp;lt;complexList&amp;gt;;&lt;br /&gt;
eigenvalues     &amp;lt;complexList&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
// Optional entries&lt;br /&gt;
startTime       &amp;lt;scalar&amp;gt;;&lt;br /&gt;
dimensions      &amp;lt;dimensionSet&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
// Inherited entries&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;下の図は、2次元円柱チュートリアルから得られた速度場と、シミュレーションを実行せずにDMDモードとダイナミクスを使用して再構成したものです：&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_UTILITIES/postProcessing/miscellaneous/createROMfields/createROMfields.C&lt;br /&gt;
* $FOAM_UTILITIES/postProcessing/miscellaneous/createROMfields/ROMmodels/DMD/DMD.H&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/incompressible/pimpleFoam/laminar/cylinder2D&lt;br /&gt;
&lt;br /&gt;
References&lt;br /&gt;
&lt;br /&gt;
* Kiewat, M. (2019). Streaming modal decomposition approaches for vehicle aerodynamics. PhD thesis. Munich: Technical University of Munich. URL:mediatum.ub.tum.de/doc/1482652/1482652.pdf&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* OpenCFD would like to acknowledge and thank Marco Kiewat for his contributions, elaborate suggestions and help, and critical recommendations.&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 639&lt;br /&gt;
&lt;br /&gt;
=== ノイズ・ユーティリティの向上 ===&lt;br /&gt;
ノイズユーティリティは、時間情報からのデフォルトの自動計算だけでなく、ユーザー定義のサンプリング周波数（キーワード：sampleFreq）もサポートするようになりました。読みやすさを向上させるため、周波数の上限と下限をminFreqとmaxFreqで指定できるようになりました（以前のキーワードも引き続きサポートされています）。&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
// Lower frequency limit, default 25 Hz, former name 'fl'&lt;br /&gt;
minFreq 25;&lt;br /&gt;
&lt;br /&gt;
// Upper frequency limit, default 10 kHz, former name 'fu'&lt;br /&gt;
maxFreq 10000;&lt;br /&gt;
&lt;br /&gt;
// OPTIONAL - Sample frequency&lt;br /&gt;
sampleFreq 100;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;サンプリングされた時間から周波数を計算する際に時間が不均一であると評価された場合、deltaT が非常に小さい場合、不均一性は多くの場合偽のエラーであるため、ユーティリティはエラーではなく警告を発するようになりました。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/surfMesh/writers/ensight/ensightSurfaceWriter.H&lt;br /&gt;
* $FOAM_SRC/randomProcesses/noise/noiseModels/noiseModel/noiseModel.H&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS//incompressible/pimpleFoam/LES/vortexShed&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Issue 2999&lt;br /&gt;
&lt;br /&gt;
=== エンサイトの出力向上 ===&lt;br /&gt;
EnSightライターの時間値は、デフォルトの固定フォーマットと精度を使用する代わりに、ユーザーが指定できるようになりました。例えば&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
formatOptions&lt;br /&gt;
{&lt;br /&gt;
    ensight&lt;br /&gt;
    {&lt;br /&gt;
        timeFormat      general; // Format for time directory names (general | fixed | scientific); default scientific&lt;br /&gt;
        timePrecision   12;      // Default = 5&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これらの新しいフォーマットオプションは、例えばノイズユーティリティの圧力サンプリングと組み合わせて、小さなタイムステップを使用する場合に特に便利です。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/surfMesh/writers/ensight/ensightSurfaceWriter.H&lt;br /&gt;
* $FOAM_SRC/functionObjects/utilities/ensightWrite/ensightWrite.H&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Merge request 634&lt;br /&gt;
&lt;br /&gt;
=== 新しいラグランジュ関数オブジェクト ウェーバー数 ===&lt;br /&gt;
表面張力と比較した粒子の慣性の相対的な重要性を監視するために、ラグランジュ関数オブジェクトWeberNumberが運動学小包に導入されています。&lt;br /&gt;
&lt;br /&gt;
最小限の使用例は以下の通り：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cloudFunctions&lt;br /&gt;
{&lt;br /&gt;
    KinematicWeberNumber1&lt;br /&gt;
    {&lt;br /&gt;
        // Mandatory entries&lt;br /&gt;
        type             WeberNumber;&lt;br /&gt;
        sigma            &amp;lt;scalar&amp;gt;;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/lagrangian/intermediate/submodels/CloudFunctionObjects/KinematicWeberNumber/KinematicWeberNumber.H&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/lagrangian/kinematicParcelFoam/spinningDisk&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 648&lt;br /&gt;
&lt;br /&gt;
=== 空のサーフェス（surfaceFieldValue）の取り扱いが改善されました。 ===&lt;br /&gt;
ワークフローによっては、サンプリングされたサーフェスが、シミュレーション中に現れたり消えたりするフェイスゾーンなどの量に依存する場合があります。そのため、空のサーフェスでサーフェスフィールドの値を評価することは、通常、セットアップに重大なエラーがあることを示しますが、このようなことが予想される場合もあります。追加キーワードempty-surfaceにより、空のサーフェスに遭遇したときの動作を指定することができます。&lt;br /&gt;
&lt;br /&gt;
最小限の例：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
surfaceFieldValueFaceZone1&lt;br /&gt;
{&lt;br /&gt;
    type            surfaceFieldValue;&lt;br /&gt;
    libs            (fieldFunctionObjects);&lt;br /&gt;
    ...&lt;br /&gt;
    regionType      faceZone;&lt;br /&gt;
&lt;br /&gt;
    empty-surface   warn;  // default | warn | ignore | strict&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.H&lt;br /&gt;
&lt;br /&gt;
Issue&lt;br /&gt;
&lt;br /&gt;
* Issue 2966&lt;br /&gt;
&lt;br /&gt;
== Parallel ==&lt;br /&gt;
&lt;br /&gt;
=== 結合パッチフィールド値の一貫性 ===&lt;br /&gt;
結合された制約境界条件、例: プロセッサーとサイクリックは、その内部フィールド値と一致している必要があります。 たとえば、プロセッサ パッチでは、値フィールドに隣接するプロセッサ セルの値が含まれます。つまり、反対側のセルの値がキャッシュされます。 他の結合されたパッチ フィールドは、ローカルおよび隣接セル値の補間値を値として持つ場合があります。 経験則として、セル値を変更するコードはすべて、たとえば、 勾配計算では、値の更新を実行するために境界条件を修正する呼び出しを行う必要があります (プロセッサ境界フィールドでのハロー スワップに相当します)。 ただし、「ローカル」操作の場合、たとえば 乗算では、境界条件に値のみがあり、セル値に依存しない場合、これがスキップされることがあります。 ほとんどの「通常の」境界条件はこのカテゴリに分類されます。&lt;br /&gt;
&lt;br /&gt;
結合境界条件の場合、プロセッサのパッチ フィールドにも適用されますが、たとえば、パッチ フィールドには適用されません。 環状、環状AMI のバリアント。 これにより、中間計算の値が一貫性制約に従わなくなります。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、制約パッチの値がいつでも最新であるように、ローカル操作の後の評価を強制しています。この選択はまだ調査中であり、将来更新される可能性があることに注意してください。&lt;br /&gt;
&lt;br /&gt;
=== patchField の整合性チェックの結合 ===&lt;br /&gt;
ビジュアルコードのチェックで、meshWaveメソッドとmeshWaveAddressingメソッドによって返される壁面距離フィールドが平行一貫していないことが確認されました。このようなエラーを発見しやすくするために、オプションで整合性チェックが追加されました：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
DebugSwitches&lt;br /&gt;
{&lt;br /&gt;
    volScalarField::Boundary            1;&lt;br /&gt;
    volVectorField::Boundary            1;&lt;br /&gt;
    volSphericalTensorField::Boundary   1;&lt;br /&gt;
    volSymmTensorField::Boundary        1;&lt;br /&gt;
    volTensorField::Boundary            1;&lt;br /&gt;
&lt;br /&gt;
    areaScalarField::Boundary           1;&lt;br /&gt;
    areaVectorField::Boundary           1;&lt;br /&gt;
    areaSphericalTensorField::Boundary  1;&lt;br /&gt;
    areaSymmTensorField::Boundary       1;&lt;br /&gt;
    areaTensorField::Boundary           1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;1 を指定するとチェックが有効になり、チェックに失敗すると FatalError が発生する。特に FOAM_ABORT と組み合わせることで、スタックトレースを生成することができます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
FOAM_ABORT=true mpirun -np 2 simpleFoam -parallel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;デバッグ・スイッチはビットマップとして解釈される：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!bit&lt;br /&gt;
!value(2^bit)&lt;br /&gt;
!effect&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|ローカル操作ごとにチェックを加える&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|2&lt;br /&gt;
|プリントの入力と終了をチェックする&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|4&lt;br /&gt;
|fatalErrorの代わりにwarning&lt;br /&gt;
|}&lt;br /&gt;
比較の許容誤差はデフォルトで0に設定されている。プロセッサのハロースワップでは、まったく同じ操作がまったく同じ順序で実行されるため、許容誤差の問題はありません。しかし、サイクリックやサイクリックAMIなどの「補間」結合境界条件では、ローカル演算（定数による乗算など）が補間後に実行されるため、若干異なる切り捨て誤差が発生します。この場合、許容誤差をオーバーライドすることができます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
OptimisationSwitches&lt;br /&gt;
{&lt;br /&gt;
    volScalarField::Boundary::tolerance           1e-10;&lt;br /&gt;
    // .. and similar for all the other field types ..&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 下位互換性 ====&lt;br /&gt;
新しい整合性操作は、周期的または周期的AMI境界条件、または結合境界条件を使用する非自明な乱流モデルを使用するケースの動作をわずかに変更します。&lt;br /&gt;
&lt;br /&gt;
オプションとして、etc/controlDictのlocalConsistency設定をオーバーライドすることで、この振る舞いを以前の（一貫性のない！）形に戻すことができる：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
OptimisationSwitches&lt;br /&gt;
{&lt;br /&gt;
    //- Enable enforced consistency of constraint bcs after 'local' operations.&lt;br /&gt;
    //  Default is on. Set to 0/false to revert to &amp;lt;v2306 behaviour&lt;br /&gt;
    localConsistency 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;簡単なテストはcyclicAMIパッチを使ったチュートリアル、例えばpipeCyclicチュートリアルです。上記のDebugSwitchでチェックを有効にすると問題なく動作しますが、localConsistencyフラグを無効にすると不整合が検出されます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[0] --&amp;gt; FOAM FATAL ERROR: (openfoam-2302 patch=230110)&lt;br /&gt;
[0] Field dev(symm(grad(U))) is not evaluated? On patch side1 type cyclicAMI : average of field = ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Related issues&lt;br /&gt;
&lt;br /&gt;
* Issue 2783&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/fields/GeometricFields/GeometricField/GeometricBoundaryField.C&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 628&lt;br /&gt;
&lt;br /&gt;
==== ノンブロッキング環状A(C)MI ====&lt;br /&gt;
cyclicAMI境界条件は、複数の隣接する面からの面積加重補間を実装します。これらの面はローカルであることも、リモートプロセッサに存在することもあり、並列通信を必要とします。&lt;br /&gt;
&lt;br /&gt;
以前のリリースでは、それぞれのcyclicAMIの評価または線形ソルバーの行列寄与（ローカルでない隣接面の場合）が、独自の通信セットをトリガーし、次のcyclicAMIまたはプロセッサパッチに進む前に、これらの終了を待っていました。このリリースでは、すべての送受信を開始するプロセッサパッチと同様の経路をたどり、ローカル値を更新するためにリモートデータを使用する「消費」フェーズがあります。典型的な境界条件の評価や線形ソルバーの更新は、次のような形になります：&lt;br /&gt;
&lt;br /&gt;
* すべての initEvaluate/initInterfaceMatrixUpdate を行う（結合境界のみ）。プロセッサ、cyclicA(C)MI の場合、これはノンブロッキングの送受信を開始する。&lt;br /&gt;
* すべての通信が終了するのを待つ（または、ポーリング（v2306 nPollProcInterfaces）を使用して以下と組み合わせる）。&lt;br /&gt;
* すべてのevaluate/updateInterfaceMatrixを行う。これは、受信したデータを使用して、行列解への寄与を計算します。&lt;br /&gt;
&lt;br /&gt;
cyclicA(C)MIからの通信をプロセッサの境界条件とまったく同じ方法で処理することで、ボトルネックが発生する可能性が低くなり、スケーリングが向上することが期待される。さらなる最適化として、ローカル送受信バッファは一度割り当てられ、再利用される。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 641&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* any case with &amp;lt;code&amp;gt;cyclicAMI&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;cyclicACMI&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== GAMG : プロセッサ・アグロメレーションにおけるcyclicAMIのサポート ====&lt;br /&gt;
GAMGソルバーは、ローカルアグロメレーションに加えて、プロセッサ間で行列を結合することができます（プロセッサアグロメレーション）。これは、コア数が多い場合に有益です：&lt;br /&gt;
&lt;br /&gt;
* 最も粗いレベルを解くコアの数を減らす - 世界的な削減のほとんどは、最も粗いレベルで起こる。&lt;br /&gt;
* は、スムージングやプリコンディショニングなど、すべての演算の暗黙性を高める。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、cyclicAMIやcyclicACMIなど、すべての連成境界条件のプロセッサアグロメレーションを可能にするようにフレームワークが拡張されました。&lt;br /&gt;
&lt;br /&gt;
テストとして、以下を比較した。&lt;br /&gt;
&lt;br /&gt;
* 40x10x1のブロック1つ、および&lt;br /&gt;
* 2つの20x10x1ブロックがcyclicAMIを使って結合されている。&lt;br /&gt;
&lt;br /&gt;
どちらのケースも4つに分解され、GAMGソルバーとmasterCoarsestプロセッサーのアグロメーターを併用することで、すべての行列がmaster(s)に結合された。&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
solvers&lt;br /&gt;
{&lt;br /&gt;
    p&lt;br /&gt;
    {&lt;br /&gt;
        solver                  GAMG;&lt;br /&gt;
        processorAgglomerator   masterCoarsest;&lt;br /&gt;
        ..&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* シングルブロック（つまり、cyclicAMIはなく、プロセッサーフェイスのみ）：&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
                              nCells       nInterfaces&lt;br /&gt;
   Level  nProcs         avg     max       avg     max&lt;br /&gt;
   -----  ------         ---     ---       ---     ---&lt;br /&gt;
       0       4         100     100       1.5       2&lt;br /&gt;
       1       4          50      50       1.5       2&lt;br /&gt;
       2       1         100     100         0       0&lt;br /&gt;
       3       1          48      48         0       0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;すべてのプロセッサ面が内部となるため、境界の数（nInterfaces）は0となる。&lt;br /&gt;
&lt;br /&gt;
* 2ブロックの場合（つまり、cyclicAMIとプロセッサフェイス）：&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
                              nCells         nInterfaces&lt;br /&gt;
   Level  nProcs         avg     max         avg     max&lt;br /&gt;
   -----  ------         ---     ---         ---     ---&lt;br /&gt;
       0       4         100     100           3       3&lt;br /&gt;
       1       4          50      50           3       3&lt;br /&gt;
       2       1         100     100           2       2&lt;br /&gt;
       3       1          48      48           2       2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ここでは、2つのcyclicAMIのみが保存されるため、境界の数は3つから2つに減る。&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;cyclicA(C)MI&amp;lt;/code&amp;gt; :&lt;br /&gt;
** すべての面がローカルになると、動作は非分散にリセットされる。つまり、操作は追加のコピーなしで、提供されたフィールドに直接適用される。&lt;br /&gt;
** 回転変換はまだサポートされていません。これは基本的な制限ではありませんが、変換を考慮するためにステンシルを追加で書き換える必要があります。&lt;br /&gt;
* processorCyclic : (オーナーセルと隣接セルが異なるプロセッサ上にあるサイクリック) はまだサポートされていない。これは通常のプロセッサ境界として扱われるため、変換は失われる。processorCyclicはdecomposeParDictでパッチ制約を使うことで回避できることに注意。&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
constraints&lt;br /&gt;
{&lt;br /&gt;
    patches&lt;br /&gt;
    {&lt;br /&gt;
        //- Keep owner and neighbour on same processor for faces in patches&lt;br /&gt;
        //  (only makes sense for cyclic patches and cyclicAMI)&lt;br /&gt;
        type    preservePatches;&lt;br /&gt;
        patches (cyclic);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* masterCoarsestのみがテストされているが、コードは他のどのプロセッサー凝集法もサポートするはずである。&lt;br /&gt;
* これまでの限られたテストでは、cyclicAMIのプロセッサー集積の利点は示され ていない。これは、ボトルネック、例えば、大域的削減の数や暗黙性が問題となる場合にのみ有効である。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 645&lt;br /&gt;
&lt;br /&gt;
=== redistributeParとファイルシステムの改良 ===&lt;br /&gt;
このリリースでは、照合ファイル・フォーマットの一般的なサポートが改善され、redistributeParユーティリティの調整も行われました。これらの変更により、照合ファイル形式は以前よりも幅広いワークフローで使用できるようになりました。&lt;br /&gt;
&lt;br /&gt;
これらの変更に加え、分散ファイルシステムによるダイナミックコードの取り扱いが改善された。このようなタイプのシステムでは、動的にコンパイルされたライブラリも対応するサブランクに配布されるようになった。&lt;br /&gt;
&lt;br /&gt;
==== 照合されたインクルードファイルの取り扱いが改善された ====&lt;br /&gt;
以前のバージョンでは、&amp;quot;include &amp;quot;ファイルを照合と組み合わせて使用すると、ファイルの内容がランタイムで変更可能なものとして扱われる場合、非常に壊れやすいことがあった。今回、ウォッチド・ファイルの取り扱いが更新され、プロセッサー・ランク間の適切な対応が保証されるようになった。&lt;br /&gt;
&lt;br /&gt;
== Usability ==&lt;br /&gt;
&lt;br /&gt;
=== New verification and validation public repository ===&lt;br /&gt;
OpenFOAMソフトウェアの検証と妥当性確認に関するコミュニティへの貢献をホストする新しいパブリックリポジトリが開設されました： OpenFOAM Verification and Validation Repository。&lt;br /&gt;
&lt;br /&gt;
このリポジトリの主な目的は、OpenFOAMコミュニティがソフトウェアの検証と検証の側面を共有、協力、強化するための一元化されたプラットフォームを提供することです。コミュニティの集合的な知識と専門知識を結集することにより、OpenFOAMシミュレーションの全体的な品質を向上させ、数値モデリングのベストプラクティスを推進することを目指しています。&lt;br /&gt;
&lt;br /&gt;
このリリースでは、Taylor-Green渦問題と円形Couette流れが組み込まれ、ケースのセットアップとドキュメンテーションのために提供されたテンプレートの実用的な応用が示されています。&lt;br /&gt;
&lt;br /&gt;
=== コンピレーション ===&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
OpenFOAMで使用されるC++標準は、GNUコンパイラでもc++14になりました。この変更により、推奨コンパイラの最小バージョンはgcc-7.5.0になりました。&lt;br /&gt;
&lt;br /&gt;
将来のコード移行を支援するため、「より厳しい」非推奨警告を有効にできるようになりました。これは WM_COMPILE_CONTROL 環境変数の +strict エントリでグローバルに、または wmake -strict で一度だけ有効にできます。これは主に開発者向けのオプションと考えることができます（多くの警告を生成する可能性があります）が、モジュールを書くときに便利で面白いかもしれません。&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
このバージョンには、MacOS上でのコンパイルと実行に関するいくつかの改良が含まれています。&lt;br /&gt;
&lt;br /&gt;
* AppleとARM64のFPE処理の改善（Guanyang Xue氏提供）&lt;br /&gt;
* rpathハンドリング&lt;br /&gt;
* xcrun サポート&lt;br /&gt;
&lt;br /&gt;
MacOS のコンパイルでは、rpath のサポートがデフォルトで有効になり、Apple SIP (System Integrity Protection) の影響に対する回避策がいくらか減って、これらのシステムでの OpenFOAM の実行が簡単になりました。WM_COMPILE_CONTROL環境変数に~rpathを追加することで、rpath処理を無効にできます。&lt;br /&gt;
&lt;br /&gt;
MacOSコンパイルでは、xcodeツール（xcrunなど）の使用もサポートするようになりました。これらはWM_COMPILE_CONTROL環境変数に+xcrunを追加することで有効になります。見つかると、これらのコンパイル・ルールが使用されます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cc   := xcrun cc&lt;br /&gt;
CC   := xcrun c++ -std=c++14&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Clang ===&lt;br /&gt;
clangベースのコンパイルで、ldリンカを使用するように明示的に指定できるようになりました（注意：clangがldを使用するかlldを使用するかはインストールに依存します）。リンカの選択は環境変数 WM_COMPILE_CONTROL の対応するエントリで定義されます：&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
- `+gold`    : use gold linker&lt;br /&gt;
- `+link-ld` : use   ld linker&lt;br /&gt;
- `+lld`     : use  lld linker&lt;br /&gt;
- `+mold`    : use mold linker&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenMP ===&lt;br /&gt;
openmp と no-openmp の扱いが強化された。&amp;quot;+openmp&amp;quot; (wmake -openmp) よりも &amp;quot;~openmp&amp;quot; (wmake -no-openmp) の方が優先されます。&lt;br /&gt;
&lt;br /&gt;
これにより、一般的に+openmpを指定する場合はrobusterとなり、特定のビルド・コンポーネント（スタティック・ライブラリやMPIブリッジ・コードなど）を指定する場合は~openmpとなる。&lt;br /&gt;
&lt;br /&gt;
=== Profiling ===&lt;br /&gt;
このバージョンには、Extraeプロファイリング用のフックが含まれています。デフォルトでは、フックは常にOpenFOAMと一緒にビルドされますが、LD_PRELOADによってExtraeが実際にロードされるまで休止しています。これにより、OpenFOAMをその目的専用に再コンパイルすることなく、Extraeのトレースが可能になります。&lt;br /&gt;
&lt;br /&gt;
Josep Pocurull（Barcelona Supercomputing Center）により提供され、exaFOAMプロジェクトの一部として使用されたコード。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/global/profiling/profilingTrigger.C&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* Merge request 652&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM&amp;diff=847</id>
		<title>OpenFOAM</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM&amp;diff=847"/>
		<updated>2023-12-24T07:26:43Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: /* リリースノート */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;このページではOpenFOAMについてまとめていきます。&lt;br /&gt;
&lt;br /&gt;
== リリースノート ==&lt;br /&gt;
&lt;br /&gt;
'''OpenCFD'''&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2312リリースノート|OpenFOAM v2312 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2306リリースノート|OpenFOAM v2306 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2212 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2206 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2112 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2106 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[https://www.notion.so/OF2012-3625e0d8029b40bda20fafe481dcbd95 OpenFOAM v2012 リリースノート]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2006 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1912 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1906 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1812 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1806 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The OpenFOAM Foundation'''&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 11 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 10 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 9|OpenFOAM 9 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 8 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v7 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v6.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 4.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 3.0.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 2.4.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
==スターティングガイド==&lt;br /&gt;
[[OpenFOAMについて]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAMのインストール]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/e63d4cf76ea2fea659b2 チュートリアルケースの実行]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/24b8491bf9776c3a27db OpenFOAMで入力できる項目の調べ方]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/e4b13100e15508981a85 OpenFOAMの$FOAM変数]&lt;br /&gt;
&lt;br /&gt;
==困った時は？==&lt;br /&gt;
[https://qiita.com/mmer547/items/7c7c257dcaf2efbc730b OpenFOAM Google Groupに投稿する際に抑えるポイント]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/6b041536e2ac5dd17721 OpenFOAMで計算するネタがない時の探し方]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAMのエラーメッセージの対応]]&lt;br /&gt;
&lt;br /&gt;
==プリプロセス==&lt;br /&gt;
&lt;br /&gt;
===形状作成===&lt;br /&gt;
&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/OpenFOAM%EF%BC%9A%E5%BD%A2%E7%8A%B6%E4%BD%9C%E6%88%90 形状作成ツールまとめ]&lt;br /&gt;
&lt;br /&gt;
===メッシュ===&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/OpenFOAM%E3%81%AE%E3%83%A1%E3%83%83%E3%82%B7%E3%83%A3%E3%83%BC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6 OpenFOAMのメッシャーについて]&lt;br /&gt;
&lt;br /&gt;
[[メッシュ作成:blockMesh]]&lt;br /&gt;
&lt;br /&gt;
[[メッシュ作成:snappyHexMesh]]&lt;br /&gt;
&lt;br /&gt;
[[メッシュ作成:cfMesh]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/9fca38b8e8eadc869bb8 SalomeでOpenFOAMのメッシュを用意する方法]&lt;br /&gt;
&lt;br /&gt;
===境界条件===&lt;br /&gt;
[[境界条件]]&lt;br /&gt;
&lt;br /&gt;
==ソルバ==&lt;br /&gt;
[[simpleFoamについて]]&lt;br /&gt;
&lt;br /&gt;
[[ExecutionTimeとClockTimeについて]]&lt;br /&gt;
&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/SIMPLEC%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E8%A8%88%E7%AE%97%E5%AE%9F%E8%A1%8C%EF%BC%88OpenFOAM3.0.1%EF%BC%89 SIMPLECを使用した計算実行（OpenFOAM3.0.1）]&lt;br /&gt;
&lt;br /&gt;
===並列計算の実行方法===&lt;br /&gt;
&lt;br /&gt;
[[decomposeParDictの中身]]&lt;br /&gt;
&lt;br /&gt;
===エラーメッセージ===&lt;br /&gt;
[[v1806のエラーメッセージ]]&lt;br /&gt;
&lt;br /&gt;
==ポストプロセス==&lt;br /&gt;
[[ログファイルから残差ログを抽出]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/e463235ddb93f08db68a OpenFOAMのpostProcessについて]&lt;br /&gt;
&lt;br /&gt;
==チュートリアルケース==&lt;br /&gt;
[[チュートリアルケース|チュートリアルケース一覧]]&lt;br /&gt;
&lt;br /&gt;
==カスタマイズ==&lt;br /&gt;
[https://qiita.com/mmer547/items/2997bf8c71fe1e2423c9 OpenFOAM ソースコードの探し方]&lt;br /&gt;
&lt;br /&gt;
==その他==&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/foam-extend_4.0%E3%82%92Bash_on_Ubuntu_on_Windows%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB foam-extend 4.0をBash on Ubuntu on Windowsにインストール]&lt;br /&gt;
&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/ESI_Windows%E7%89%88OpenFOAM%E3%81%AE%E5%B0%8E%E5%85%A5 ESI Windows版OpenFOAMの導入]&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/OpenCAE/Supercomputer-OpenFOAM-Training/-/wikis/home スーパーコンピュータOpenFOAM講習会]&lt;br /&gt;
&lt;br /&gt;
== 関連サービス ==&lt;br /&gt;
=== プリプロセス ===&lt;br /&gt;
[https://www.xsim.info/products/products.html XSim.Work]&lt;br /&gt;
&lt;br /&gt;
== 関連書籍 ==&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEDEXCS-OpenFOAM%E3%83%8F%E3%83%B3%E3%83%89%E3%83%96%E3%83%83%E3%82%AF-%E9%87%8E%E6%9D%91-%E6%82%A6%E6%B2%BB/dp/4621306138/ref=sr_1_5?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-5 オープンCAEのためのDEXCS for OpenFOAMハンドブック]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%81%AB%E3%82%88%E3%82%8B%E7%86%B1%E7%A7%BB%E5%8B%95%E3%81%A8%E6%B5%81%E3%82%8C%E3%81%AE%E6%95%B0%E5%80%A4%E8%A7%A3%E6%9E%90-%E7%AC%AC2%E7%89%88-%E4%B8%80%E8%88%AC%E7%A4%BE%E5%9B%A3%E6%B3%95%E4%BA%BA%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E5%AD%A6%E4%BC%9A/dp/4627691025/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-1 OpenFOAMによる熱移動と流れの数値解析(第2版) ]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%81%AE%E6%AD%A9%E3%81%8D%E6%96%B9-%E6%8A%80%E8%A1%93%E3%81%AE%E6%B3%89%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%EF%BC%88NextPublishing%EF%BC%89-%E5%B7%9D%E7%95%91-%E7%9C%9F%E4%B8%80/dp/4844379526/ref=sr_1_6?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-6　OpenFOAMの歩き方]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9-%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%83%86%E3%83%A9%E3%83%90%E3%82%A4%E3%83%88/dp/4627691610/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-2 OpenFOAMライブラリリファレンス]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-Tomislav-Mari%C2%B4c/dp/4627670915/ref=sr_1_3?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-3 OpenFOAMプログラミング]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%81%AB%E3%82%88%E3%82%8B%E7%86%B1%E7%A7%BB%E5%8B%95%E3%81%A8%E6%B5%81%E3%82%8C%E3%81%AE%E6%95%B0%E5%80%A4%E8%A7%A3%E6%9E%90-%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E5%AD%A6%E4%BC%9A/dp/4627691017/ref=sr_1_4?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-4 OpenFOAMによる熱移動と流れの数値解析]&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E3%81%AE%E7%B3%BB%E8%AD%9C&amp;diff=846</id>
		<title>オープンCAEの系譜</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E3%81%AE%E7%B3%BB%E8%AD%9C&amp;diff=846"/>
		<updated>2023-12-09T03:20:54Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;オープンCAEの歴史をまとめていきたいと思います。適当に追記願います。&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+オープンCAEの系譜&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;|年月&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;|起こった出来事・イベント&lt;br /&gt;
|-&lt;br /&gt;
|2023/12&lt;br /&gt;
|オープンCAE学会がオープンCAEシンポジウム2023（横浜）開催&lt;br /&gt;
|-&lt;br /&gt;
|2023/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2023/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2023/09&lt;br /&gt;
|オープンCAE学会がOpenFOAM GPUトレーニング2023（オンライン）を開催&lt;br /&gt;
オープンCAE学会がオープンCAEサマースクール2023(9/1~3、逗子)を開催&lt;br /&gt;
|-&lt;br /&gt;
|2023/08&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2023/07&lt;br /&gt;
|オープンCAE学会がオープンCAE講習会(オンライン)を開催&lt;br /&gt;
|-&lt;br /&gt;
|2023/06&lt;br /&gt;
|オープンCAE学会がオープンCAE講習会(オンライン)を開催&lt;br /&gt;
|-&lt;br /&gt;
|2023/05&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2023/04&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2023/03&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2023/02&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2023/01&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/12&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/09&lt;br /&gt;
|オープンCAE学会がオープンCAEシンポジウム2022（岡山理科大学）を開催&lt;br /&gt;
田辺賞該当者なし&lt;br /&gt;
|-&lt;br /&gt;
|2022/08&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/07&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/06&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/05&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/04&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/03&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/02&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/01&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/12&lt;br /&gt;
|オープンCAE学会がオープンCAEシンポジウム2021（オンライン）を開催&lt;br /&gt;
田辺賞該当者なし&lt;br /&gt;
|-&lt;br /&gt;
|2021/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/09&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/08&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/07&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/06&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/05&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/04&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/03&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/02&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/01&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/12&lt;br /&gt;
|オープンCAE学会がオープンCAE・FrontISTR合同シンポジウム2020（オンライン）を開催&lt;br /&gt;
田辺賞該当者なし&lt;br /&gt;
|-&lt;br /&gt;
|2020/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/09&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/08&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/07&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/06&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/05&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/04&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/03&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/02&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/01&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2019/12&lt;br /&gt;
|オープンCAE学会がオープンCAEシンポジウム2019（大阪）を開催&amp;lt;br/&amp;gt;野村さん田辺賞受賞&lt;br /&gt;
|-&lt;br /&gt;
|2019/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2019/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2019/9&lt;br /&gt;
|オープンCAE学会がオープンCAEサマースクール2019を開催&lt;br /&gt;
|-&lt;br /&gt;
|2019/8&lt;br /&gt;
|2019/8/1　はじめての「SonyNNC」 (I・O BOOKS)&lt;br /&gt;
|-&lt;br /&gt;
|2019/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2019/6&lt;br /&gt;
|オープンCAE学会が2019年6月21日オープンCAEトレーニング（東京）を開催&lt;br /&gt;
|-&lt;br /&gt;
|2019/5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2019/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2019/3&lt;br /&gt;
|オープンCAE学会が2019年3月29日オープンCAE講習会（富山）を開催&lt;br /&gt;
|-&lt;br /&gt;
|2019/2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2019/1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2018/12&lt;br /&gt;
|オープンCAE学会がオープンCAEシンポジウム2018（川崎）を開催&amp;lt;br/&amp;gt;&lt;br /&gt;
2018/12/1　基礎からのFreeCAD (I・O BOOKS) 増補改訂版 発売&lt;br /&gt;
|-&lt;br /&gt;
|2018/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2018/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2018/9&lt;br /&gt;
|2018/9/1　「PrePoMax」ではじめる実践構造解析 (I・O BOOKS) &lt;br /&gt;
|-&lt;br /&gt;
|2018/8&lt;br /&gt;
|オープンCAE学会がオープンCAEサマースクール2018を開催&lt;br /&gt;
|-&lt;br /&gt;
|2018/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2018/6&lt;br /&gt;
|オープンCAE学会が2018年6月22日オープンCAEトレーニング（東京）を開催&lt;br /&gt;
|-&lt;br /&gt;
|2018/5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2018/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2018/3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2018/2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2018/1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2017/12&lt;br /&gt;
|オープンCAE学会がオープンCAEシンポジウム2017（名古屋）を開催&lt;br /&gt;
|-&lt;br /&gt;
|2017/11&lt;br /&gt;
|（2017/11/25～26）オープンCAEもくもく合宿開催&lt;br /&gt;
|-&lt;br /&gt;
|2017/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2017/9&lt;br /&gt;
|オープンCAE学会が2017年9月8日(金)～10日(日)オープンCAEサマースクール2017を開催&lt;br /&gt;
|-&lt;br /&gt;
|2017/8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2017/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2017/6&lt;br /&gt;
|オープンCAE学会が2017年6月23日(金): 2017年6月23日オープンCAE講習会（東京）を開催&lt;br /&gt;
|-&lt;br /&gt;
|2017/5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2017/4&lt;br /&gt;
|2017/4/3　オープンCAEで学ぶ構造解析入門: ―DEXCS-WinXistrの活用―　発売&lt;br /&gt;
|-&lt;br /&gt;
|2017/3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2017/2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2017/1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2016/12&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2016/11&lt;br /&gt;
|2016年11月24日（木）〜26日(土）：オープンCAEシンポジウム2016（東京）&lt;br /&gt;
|-&lt;br /&gt;
|2016/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2016/9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2016/8&lt;br /&gt;
|2016年8月26日(金)～28日(日)オープンCAEサマースクール2016&lt;br /&gt;
|-&lt;br /&gt;
|2016/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2016/6&lt;br /&gt;
|2016年6月24日(金): 2016年6月24日オープンCAE講習会（東京）&amp;lt;br/&amp;gt;2016/6/17　OpenFOAMによる熱移動と流れの数値解析　発売&lt;br /&gt;
|-&lt;br /&gt;
|2016/5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2016/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2016/3&lt;br /&gt;
|2016年3月11日(金): 2016年3月11日オープンCAE講習会（長野）&lt;br /&gt;
|-&lt;br /&gt;
|2016/2&lt;br /&gt;
|2016/2　オープンCAE「Salome‐Meca」構造解析―「弾塑性」「接触」解析編 (I・O BOOKS)　発売&lt;br /&gt;
|-&lt;br /&gt;
|2016/1&lt;br /&gt;
|2016/1　基礎からのFreeCAD (I・O BOOKS) 　発売&lt;br /&gt;
|-&lt;br /&gt;
|2015/12&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2015/11&lt;br /&gt;
|2015年11月27日（金）～28日（土） : オープンCAEシンポジウム2015（富山）&lt;br /&gt;
|-&lt;br /&gt;
|2015/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2015/9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2015/8&lt;br /&gt;
|2015年8月28日(金)～30日(日)オープンCAEサマースクール2015&lt;br /&gt;
|-&lt;br /&gt;
|2015/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2015/6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2015/5&lt;br /&gt;
|2015年5月30日(土): 平成27年度定時社員総会・オープンCAE講習会 (東京)&lt;br /&gt;
|-&lt;br /&gt;
|2015/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2015/3&lt;br /&gt;
|2015年3月21日(土): 2015年3月21日オープンCAE講習会（岡山）&lt;br /&gt;
|-&lt;br /&gt;
|2015/2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2015/1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2014/12&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2014/11&lt;br /&gt;
|2014年11月13日（木）～14日（金） : オープンCAEシンポジウム2014（東京）&lt;br /&gt;
|-&lt;br /&gt;
|2014/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2014/9&lt;br /&gt;
|2014/9/1　オープンCAE「Salome‐Meca」構造解析―「固有値」「熱伝導」解析編 (I・O BOOKS) 発売&lt;br /&gt;
|-&lt;br /&gt;
|2014/8&lt;br /&gt;
|2014年8月29日(金)～31日(日)オープンCAEサマースクール2014&lt;br /&gt;
|-&lt;br /&gt;
|2014/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2014/6&lt;br /&gt;
|2014年6月21日(土): 平成26年度定時社員総会・オープンCAE講習会 (東京) &lt;br /&gt;
|-&lt;br /&gt;
|2014/5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2014/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2014/3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2014/2&lt;br /&gt;
|2014/2/1　オープンCAE「Salome‐Meca」ではじめる構造解析 (I・O BOOKS) 発売&lt;br /&gt;
|-&lt;br /&gt;
|2014/1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013/12&lt;br /&gt;
|2013年12月5日（木）～6日（金） : オープンCAEシンポジウム2013（大阪）&lt;br /&gt;
|-&lt;br /&gt;
|2013/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013/9&lt;br /&gt;
|2013年9月28日(土): 2013年9月28日OpenFOAM臨時講習会 (東京)&amp;lt;br/&amp;gt;2013年9月6日(金)～8日(日)オープンCAEサマースクール2013&lt;br /&gt;
|-&lt;br /&gt;
|2013/8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013/6&lt;br /&gt;
|2013年6月20日（木）～21日（金） : オープンCAEワークショップ2013（東京）&lt;br /&gt;
|-&lt;br /&gt;
|2013/5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013/3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013/2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013/1&lt;br /&gt;
|オープンCAE勉強会＠関西、幹事が2代目に交代&amp;lt;br/&amp;gt;OpenFOAM勉強会 for beginner @関西がオープンCAE勉強会@関西に名称変更&lt;br /&gt;
|-&lt;br /&gt;
|2012/12&lt;br /&gt;
|2012年12月14 日（金）～ 15日（土） : オープンCAEシンポジウム2012（岐阜）&lt;br /&gt;
|-&lt;br /&gt;
|2012/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2012/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2012/9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2012/8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2012/7&lt;br /&gt;
|2012年7月21日(土) 第1回オープンCAE勉強会＠広島開催&lt;br /&gt;
|-&lt;br /&gt;
|2012/6&lt;br /&gt;
|2012年6月8日（金）～9日（土） : オープンCAEワークショップ2012（東京)&lt;br /&gt;
|-&lt;br /&gt;
|2012/5&lt;br /&gt;
|2012/05/19　オープンCAE勉強会＠富山（第1回）開催&lt;br /&gt;
|-&lt;br /&gt;
|2012/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2012/3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2012/2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2012/1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011/12&lt;br /&gt;
|2011年12月1日（木）～2日（金）: オープンCAEシンポジウム2011 （東京）&lt;br /&gt;
|-&lt;br /&gt;
|2011/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011/9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011/8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011/6&lt;br /&gt;
|オープンCAE学会が2011年6月26日（日）: オープンCAEワークショップ2011（東京）を開催&lt;br /&gt;
|-&lt;br /&gt;
|2011/5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011/3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011/2&lt;br /&gt;
|2011/2/1　はじめてのオープンCAE (I・O BOOKS)発売 &lt;br /&gt;
|-&lt;br /&gt;
|2011/1&lt;br /&gt;
|平成２３年１月２９日第１回オープンＣＡＥ勉強会【岐阜】開催&lt;br /&gt;
|-&lt;br /&gt;
|2010/12&lt;br /&gt;
|(2010/12/18)第１回OpenFOAM勉強会 for beginner @関西開催&amp;lt;br/&amp;gt;オープンCAE学会が2010年12月5日（日）: オープンCAEシンポジウム2010（東京）を開催&lt;br /&gt;
|-&lt;br /&gt;
|2010/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2010/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2010/9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2010/8&lt;br /&gt;
|2010年8月8日（日）: 平成22年度オープンCAE夏季講習会（岐阜）&amp;lt;br/&amp;gt;2010年8月6日（金）: 平成22年度オープンCAE夏季臨時講習会（東京）&lt;br /&gt;
|-&lt;br /&gt;
|2010/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2010/6&lt;br /&gt;
|2010/06/27 OpenFOAM勉強会 for beginner [第1回]開催&lt;br /&gt;
|-&lt;br /&gt;
|2010/5&lt;br /&gt;
|オープンCAE学会が2010年5月14日（金）: 平成22年度オープンCAEワークショップ・定時社員総会（東京）を開催&lt;br /&gt;
|-&lt;br /&gt;
|2010/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2010/3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2010/2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2010/1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/12&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/11&lt;br /&gt;
|オープンCAE学会が2009年11月7日（土）: 第二回オープンソースCAEワークショップ（東京）を開催&lt;br /&gt;
|-&lt;br /&gt;
|2009/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/5&lt;br /&gt;
|オープンCAE学会が2009年5月13日（水）: 第一回OpenFOAM講習会を開催&lt;br /&gt;
|-&lt;br /&gt;
|2009/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/12&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/11&lt;br /&gt;
|オープンCAE学会が2008年11月13日（木）: 第一回オープンソースCAEワークショップ（東京）を開催&lt;br /&gt;
|-&lt;br /&gt;
|2008/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E3%81%AE%E7%B3%BB%E8%AD%9C&amp;diff=845</id>
		<title>オープンCAEの系譜</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E3%81%AE%E7%B3%BB%E8%AD%9C&amp;diff=845"/>
		<updated>2023-12-09T03:11:07Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;オープンCAEの歴史をまとめていきたいと思います。適当に追記願います。&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+オープンCAEの系譜&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;|年月&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;|起こった出来事・イベント&lt;br /&gt;
|-&lt;br /&gt;
|2023/12&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2023/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2023/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2023/09&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2023/08&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2023/07&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2023/06&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2023/05&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2023/04&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2023/03&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2023/02&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2023/01&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/12&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/09&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/08&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/07&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/06&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/05&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/04&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/03&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/02&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2022/01&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/12&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/09&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/08&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/07&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/06&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/05&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/04&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/03&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/02&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2021/01&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/12&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/09&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/08&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/07&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/06&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/05&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/04&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/03&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/02&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2020/01&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2019/12&lt;br /&gt;
|2019年12月19日（木）〜21日（土）：オープンCAEシンポジウム2019（大阪）&amp;lt;br/&amp;gt;野村さん田辺賞受賞&lt;br /&gt;
|-&lt;br /&gt;
|2019/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2019/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2019/9&lt;br /&gt;
|2019年9月6日(金)～9月8日(日)オープンCAEサマースクール2019&lt;br /&gt;
|-&lt;br /&gt;
|2019/8&lt;br /&gt;
|2019/8/1　はじめての「SonyNNC」 (I・O BOOKS)&lt;br /&gt;
|-&lt;br /&gt;
|2019/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2019/6&lt;br /&gt;
|2019年6月21日(金): 2019年6月21日オープンCAEトレーニング（東京）&lt;br /&gt;
|-&lt;br /&gt;
|2019/5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2019/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2019/3&lt;br /&gt;
|2019年3月29日(金)-30日(土): 2019年3月29日オープンCAE講習会（富山）&lt;br /&gt;
|-&lt;br /&gt;
|2019/2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2019/1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2018/12&lt;br /&gt;
|2018年12月6日（木）〜8日（土）：オープンCAEシンポジウム2018（川崎）&amp;lt;br/&amp;gt;&lt;br /&gt;
2018/12/1　基礎からのFreeCAD (I・O BOOKS) 増補改訂版 発売&lt;br /&gt;
|-&lt;br /&gt;
|2018/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2018/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2018/9&lt;br /&gt;
|2018/9/1　「PrePoMax」ではじめる実践構造解析 (I・O BOOKS) &lt;br /&gt;
|-&lt;br /&gt;
|2018/8&lt;br /&gt;
|2018年8月31日(金)～9月2日(日)オープンCAEサマースクール2018&lt;br /&gt;
|-&lt;br /&gt;
|2018/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2018/6&lt;br /&gt;
|2018年6月22日(金): 2018年6月22日オープンCAEトレーニング（東京）&lt;br /&gt;
|-&lt;br /&gt;
|2018/5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2018/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2018/3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2018/2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2018/1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2017/12&lt;br /&gt;
|2017年12月7日（木）〜9日（土）: オープンCAEシンポジウム2017（名古屋）&lt;br /&gt;
|-&lt;br /&gt;
|2017/11&lt;br /&gt;
|（2017/11/25～26）オープンCAEもくもく合宿開催&lt;br /&gt;
|-&lt;br /&gt;
|2017/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2017/9&lt;br /&gt;
|2017年9月8日(金)～10日(日)オープンCAEサマースクール2017&lt;br /&gt;
|-&lt;br /&gt;
|2017/8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2017/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2017/6&lt;br /&gt;
|2017年6月23日(金): 2017年6月23日オープンCAE講習会（東京）&lt;br /&gt;
|-&lt;br /&gt;
|2017/5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2017/4&lt;br /&gt;
|2017/4/3　オープンCAEで学ぶ構造解析入門: ―DEXCS-WinXistrの活用―　発売&lt;br /&gt;
|-&lt;br /&gt;
|2017/3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2017/2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2017/1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2016/12&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2016/11&lt;br /&gt;
|2016年11月24日（木）〜26日(土）：オープンCAEシンポジウム2016（東京）&lt;br /&gt;
|-&lt;br /&gt;
|2016/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2016/9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2016/8&lt;br /&gt;
|2016年8月26日(金)～28日(日)オープンCAEサマースクール2016&lt;br /&gt;
|-&lt;br /&gt;
|2016/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2016/6&lt;br /&gt;
|2016年6月24日(金): 2016年6月24日オープンCAE講習会（東京）&amp;lt;br/&amp;gt;2016/6/17　OpenFOAMによる熱移動と流れの数値解析　発売&lt;br /&gt;
|-&lt;br /&gt;
|2016/5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2016/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2016/3&lt;br /&gt;
|2016年3月11日(金): 2016年3月11日オープンCAE講習会（長野）&lt;br /&gt;
|-&lt;br /&gt;
|2016/2&lt;br /&gt;
|2016/2　オープンCAE「Salome‐Meca」構造解析―「弾塑性」「接触」解析編 (I・O BOOKS)　発売&lt;br /&gt;
|-&lt;br /&gt;
|2016/1&lt;br /&gt;
|2016/1　基礎からのFreeCAD (I・O BOOKS) 　発売&lt;br /&gt;
|-&lt;br /&gt;
|2015/12&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2015/11&lt;br /&gt;
|2015年11月27日（金）～28日（土） : オープンCAEシンポジウム2015（富山）&lt;br /&gt;
|-&lt;br /&gt;
|2015/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2015/9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2015/8&lt;br /&gt;
|2015年8月28日(金)～30日(日)オープンCAEサマースクール2015&lt;br /&gt;
|-&lt;br /&gt;
|2015/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2015/6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2015/5&lt;br /&gt;
|2015年5月30日(土): 平成27年度定時社員総会・オープンCAE講習会 (東京)&lt;br /&gt;
|-&lt;br /&gt;
|2015/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2015/3&lt;br /&gt;
|2015年3月21日(土): 2015年3月21日オープンCAE講習会（岡山）&lt;br /&gt;
|-&lt;br /&gt;
|2015/2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2015/1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2014/12&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2014/11&lt;br /&gt;
|2014年11月13日（木）～14日（金） : オープンCAEシンポジウム2014（東京）&lt;br /&gt;
|-&lt;br /&gt;
|2014/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2014/9&lt;br /&gt;
|2014/9/1　オープンCAE「Salome‐Meca」構造解析―「固有値」「熱伝導」解析編 (I・O BOOKS) 発売&lt;br /&gt;
|-&lt;br /&gt;
|2014/8&lt;br /&gt;
|2014年8月29日(金)～31日(日)オープンCAEサマースクール2014&lt;br /&gt;
|-&lt;br /&gt;
|2014/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2014/6&lt;br /&gt;
|2014年6月21日(土): 平成26年度定時社員総会・オープンCAE講習会 (東京) &lt;br /&gt;
|-&lt;br /&gt;
|2014/5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2014/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2014/3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2014/2&lt;br /&gt;
|2014/2/1　オープンCAE「Salome‐Meca」ではじめる構造解析 (I・O BOOKS) 発売&lt;br /&gt;
|-&lt;br /&gt;
|2014/1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013/12&lt;br /&gt;
|2013年12月5日（木）～6日（金） : オープンCAEシンポジウム2013（大阪）&lt;br /&gt;
|-&lt;br /&gt;
|2013/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013/9&lt;br /&gt;
|2013年9月28日(土): 2013年9月28日OpenFOAM臨時講習会 (東京)&amp;lt;br/&amp;gt;2013年9月6日(金)～8日(日)オープンCAEサマースクール2013&lt;br /&gt;
|-&lt;br /&gt;
|2013/8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013/6&lt;br /&gt;
|2013年6月20日（木）～21日（金） : オープンCAEワークショップ2013（東京）&lt;br /&gt;
|-&lt;br /&gt;
|2013/5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013/3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013/2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013/1&lt;br /&gt;
|オープンCAE勉強会＠関西、幹事が2代目に交代&amp;lt;br/&amp;gt;OpenFOAM勉強会 for beginner @関西がオープンCAE勉強会@関西に名称変更&lt;br /&gt;
|-&lt;br /&gt;
|2012/12&lt;br /&gt;
|2012年12月14 日（金）～ 15日（土） : オープンCAEシンポジウム2012（岐阜）&lt;br /&gt;
|-&lt;br /&gt;
|2012/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2012/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2012/9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2012/8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2012/7&lt;br /&gt;
|2012年7月21日(土) 第1回オープンCAE勉強会＠広島開催&lt;br /&gt;
|-&lt;br /&gt;
|2012/6&lt;br /&gt;
|2012年6月8日（金）～9日（土） : オープンCAEワークショップ2012（東京)&lt;br /&gt;
|-&lt;br /&gt;
|2012/5&lt;br /&gt;
|2012/05/19　オープンCAE勉強会＠富山（第1回）開催&lt;br /&gt;
|-&lt;br /&gt;
|2012/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2012/3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2012/2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2012/1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011/12&lt;br /&gt;
|2011年12月1日（木）～2日（金）: オープンCAEシンポジウム2011 （東京）&lt;br /&gt;
|-&lt;br /&gt;
|2011/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011/9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011/8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011/6&lt;br /&gt;
|2011年6月26日（日）: オープンCAEワークショップ2011（東京）&lt;br /&gt;
|-&lt;br /&gt;
|2011/5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011/3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011/2&lt;br /&gt;
|2011/2/1　はじめてのオープンCAE (I・O BOOKS)発売 &lt;br /&gt;
|-&lt;br /&gt;
|2011/1&lt;br /&gt;
|平成２３年１月２９日第１回オープンＣＡＥ勉強会【岐阜】開催&lt;br /&gt;
|-&lt;br /&gt;
|2010/12&lt;br /&gt;
|(2010/12/18)第１回OpenFOAM勉強会 for beginner @関西開催&amp;lt;br/&amp;gt;2010年12月5日（日）: オープンCAEシンポジウム2010（東京）&lt;br /&gt;
|-&lt;br /&gt;
|2010/11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2010/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2010/9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2010/8&lt;br /&gt;
|2010年8月8日（日）: 平成22年度オープンCAE夏季講習会（岐阜）&amp;lt;br/&amp;gt;2010年8月6日（金）: 平成22年度オープンCAE夏季臨時講習会（東京）&lt;br /&gt;
|-&lt;br /&gt;
|2010/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2010/6&lt;br /&gt;
|2010/06/27 OpenFOAM勉強会 for beginner [第1回]開催&lt;br /&gt;
|-&lt;br /&gt;
|2010/5&lt;br /&gt;
|2010年5月14日（金）: 平成22年度オープンCAEワークショップ・定時社員総会（東京）&lt;br /&gt;
|-&lt;br /&gt;
|2010/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2010/3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2010/2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2010/1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/12&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/11&lt;br /&gt;
|2009年11月7日（土）: 第二回オープンソースCAEワークショップ（東京）&lt;br /&gt;
|-&lt;br /&gt;
|2009/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/5&lt;br /&gt;
|2009年5月13日（水）: 第一回OpenFOAM講習会&lt;br /&gt;
|-&lt;br /&gt;
|2009/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009/1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/12&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/11&lt;br /&gt;
|2008年11月13日（木）: 第一回オープンソースCAEワークショップ（東京）&lt;br /&gt;
|-&lt;br /&gt;
|2008/10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008/1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=Visual_Studio_Code_Extension%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;diff=844</id>
		<title>Visual Studio Code Extensionについて</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=Visual_Studio_Code_Extension%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&amp;diff=844"/>
		<updated>2023-11-30T12:47:49Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: ページの作成:「OpenRadioss-helperという名前で公開されているExtensionがある。  機能としてはインプットカードのハイライト表示と入力補助になる。   https://marketplace.visualstudio.com/items?itemName=mmer547.openradioss-helper」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenRadioss-helperという名前で公開されているExtensionがある。&lt;br /&gt;
&lt;br /&gt;
機能としてはインプットカードのハイライト表示と入力補助になる。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://marketplace.visualstudio.com/items?itemName=mmer547.openradioss-helper&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenRadioss&amp;diff=843</id>
		<title>OpenRadioss</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenRadioss&amp;diff=843"/>
		<updated>2023-11-30T12:44:56Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: /* スターティングガイド */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=wikitable style=&amp;quot;font-family:serif;background-color:#f5f6ff ; margin:1em;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Altair Radiossは、動的負荷がかかる非線形性の高い問題に対する製品性能の評価と最適化を支援する、業界で実績のある解析ソリューションです。30年以上にわたり、Altair Radiossはデジタル設計プロセスの合理化と最適化、費用のかかる物理テストの迅速かつ効率的なシミュレーションへの置き換え、設計最適化の反復のスピードアップを実現し、ユーザーと組織が製品品質の向上、コスト削減、開発サイクルの短縮を達成できるよう支援しています。(公式サイト&amp;lt;ref&amp;gt;https://www.openradioss.org/&amp;lt;/ref&amp;gt;より)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== スターティングガイド ==&lt;br /&gt;
&lt;br /&gt;
[[OpenRadiossのインストール]]&lt;br /&gt;
&lt;br /&gt;
[[OpenRadiossの計算実行]]&lt;br /&gt;
&lt;br /&gt;
[[計算結果のVTK変換]]&lt;br /&gt;
&lt;br /&gt;
[[LS-Dynaフォーマットについて]]&lt;br /&gt;
&lt;br /&gt;
[[Radiossインプットカードについて]]&lt;br /&gt;
&lt;br /&gt;
[[Visual Studio Code Extensionについて]]&lt;br /&gt;
&lt;br /&gt;
== TIPS ==&lt;br /&gt;
[https://hammamania.tech/c7fbed6839c14e66ba004eae97bfe58c ParaViewでPartごとに結果を表示する方法]&lt;br /&gt;
&lt;br /&gt;
== 公式Example ==&lt;br /&gt;
&lt;br /&gt;
=== in OpenRadioss Block Format ===&lt;br /&gt;
&lt;br /&gt;
[[Bird Strike on Windshield]]&lt;br /&gt;
&lt;br /&gt;
[[INIVOL and Fluid Structure Interaction (Drop Container)]]&lt;br /&gt;
&lt;br /&gt;
[[Fan Blade Rotation Initialization and Impact]]&lt;br /&gt;
&lt;br /&gt;
[[Blow molding with Advanced Mass Scaling (AMS).]]&lt;br /&gt;
&lt;br /&gt;
[[Ice Cube]]&lt;br /&gt;
&lt;br /&gt;
[[Spring-back]]&lt;br /&gt;
&lt;br /&gt;
[[Yaris impact on pole at 40km/h]]&lt;br /&gt;
&lt;br /&gt;
[[Bumper Beam]]&lt;br /&gt;
&lt;br /&gt;
[[Tensile Test (Radioss Block Format)]]&lt;br /&gt;
&lt;br /&gt;
[[Tensile Test Example Tutorial Using Gmsh]]&lt;br /&gt;
&lt;br /&gt;
[[Football (Soccer) Shots]]&lt;br /&gt;
&lt;br /&gt;
[[Cell Phone Drop Test]]&lt;br /&gt;
&lt;br /&gt;
[[Rubber ‘O-Ring’ Seal Installation]]&lt;br /&gt;
&lt;br /&gt;
=== in LS-DYNA key format ===&lt;br /&gt;
&lt;br /&gt;
[[Example LS-DYNA Format Models]]&lt;br /&gt;
&lt;br /&gt;
[[Camry Impact Model in LS-DYNA format]]&lt;br /&gt;
&lt;br /&gt;
[[Tensile Test Model in LS-DYNA format ]]&lt;br /&gt;
&lt;br /&gt;
== ドキュメント ==&lt;br /&gt;
&lt;br /&gt;
[https://2022.help.altair.com/2022.1/hwsolvers/rad/index.htm Radioss online help]&lt;br /&gt;
&lt;br /&gt;
[https://2022.help.altair.com/2022/hwsolvers/ja_jp/rad/index.htm Radioss 2022 日本語ヘルプ（オンライン）]&lt;br /&gt;
&lt;br /&gt;
[https://2022.help.altair.com/2022/simulation/pdfs/radopen/AltairRadioss_2022_ReferenceGuide.pdf Altair Radioss 2022 Reference Guide]&lt;br /&gt;
&lt;br /&gt;
[https://2022.help.altair.com/2022/hwsolvers/ja_jp/pdf/AltairRadioss_2022_Reference.pdf Radioss 2022 日本語 リファレンスガイド]&lt;br /&gt;
&lt;br /&gt;
[https://2022.help.altair.com/2022/simulation/pdfs/radopen/AltairRadioss_2022_UserGuide.pdf Altair Radioss 2022 User Guide]&lt;br /&gt;
&lt;br /&gt;
[https://2022.help.altair.com/2022/hwsolvers/ja_jp/pdf/AltairRadioss_2022_UserGuide.pdf Radioss 2022 日本語 ユーザーガイド]&lt;br /&gt;
&lt;br /&gt;
[https://2022.help.altair.com/2022/simulation/pdfs/radopen/AltairRadioss_2022_TheoryManual.pdf Altair Radioss 2022 Theory Manual]&lt;br /&gt;
&lt;br /&gt;
[https://2022.help.altair.com/2022/hwsolvers/ja_jp/pdf/AltairRadioss_2022_Example.pdf Radioss 2022 日本語例題集]&lt;br /&gt;
&lt;br /&gt;
== その他参考になるドキュメント ==&lt;br /&gt;
&lt;br /&gt;
[https://www.dynasupport.com/manuals LS-DYNA manuals]&lt;br /&gt;
&lt;br /&gt;
[https://www.dynaexamples.com LS-DYNA Examples]&lt;br /&gt;
&lt;br /&gt;
[https://www.lstc.com/lspp/ LS-PrePost Online Documentation]&lt;br /&gt;
&lt;br /&gt;
[http://groups.google.com/group/ls-prepost LS-PrePost User Group]&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenRadioss%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB&amp;diff=842</id>
		<title>OpenRadiossのインストール</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenRadioss%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB&amp;diff=842"/>
		<updated>2023-11-30T10:36:14Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WindowsでLinux版を使用する場合はWSL&amp;lt;ref&amp;gt;https://learn.microsoft.com/ja-jp/windows/wsl/install&amp;lt;/ref&amp;gt;を使用する。&lt;br /&gt;
== Linuxでバイナリ版のインストール人 ==&lt;br /&gt;
&lt;br /&gt;
Ubuntuでのみ確認済み。&lt;br /&gt;
&lt;br /&gt;
Githubのページから～linux64.zipをダウンロードして、解凍する。&lt;br /&gt;
&lt;br /&gt;
[https://github.com/OpenRadioss/OpenRadioss/releases OpenRadioss Github]&lt;br /&gt;
&lt;br /&gt;
/optなどに解凍する。&lt;br /&gt;
&lt;br /&gt;
== Windowsでバイナリ版のインストールをしたい人 ==&lt;br /&gt;
&lt;br /&gt;
Githubのページから～Win64.zipをダウンロードして、任意の場所に解凍する。&lt;br /&gt;
&lt;br /&gt;
[https://github.com/OpenRadioss/OpenRadioss/releases OpenRadioss Github]&lt;br /&gt;
&lt;br /&gt;
並列計算を実行する場合は、Intel MPI Libraryを次のリンクから入手してインストールする。&lt;br /&gt;
&lt;br /&gt;
[https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html#mpi Intel MPI Library]&lt;br /&gt;
&lt;br /&gt;
== ソースコードコンパイルしたい人 ==&lt;br /&gt;
下記公式ドキュメントを見ながら実行するとコンパイルできる。&lt;br /&gt;
&lt;br /&gt;
[https://github.com/OpenRadioss/OpenRadioss/blob/main/HOWTO.md How to Build OpenRadioss]&lt;br /&gt;
&lt;br /&gt;
[https://getwelsim.medium.com/explore-openradioss-the-worlds-first-enterprise-grade-open-source-explicit-dynamics-solver-i-b4c7931a48ed Explore the enterprise-grade open-source solver OpenRadioss I : build in Linux]&lt;br /&gt;
&lt;br /&gt;
== Apple Silicon Macにインストールしたい人（非公式） ==&lt;br /&gt;
Apptainer imageでの導入について書かれた記事あり。&lt;br /&gt;
&lt;br /&gt;
https://www.epeters.io/containerized-openradioss-macos&lt;br /&gt;
&lt;br /&gt;
==注記==&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=841</id>
		<title>メインページ</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8&amp;diff=841"/>
		<updated>2023-11-29T06:10:22Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: /* その他 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;オープンCAEWikiにようこそ！&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
本wikiはオープンソースCAEソフトウェアについての情報まとめています。&lt;br /&gt;
クローズドなwikiではありません。&lt;br /&gt;
ご編集されたい方はアカウントをご登録ください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
なお、内容はオープンCAEに関連するものでお願いします。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== オープンCAEの前提知識 ===&lt;br /&gt;
&lt;br /&gt;
[[Linux]]&lt;br /&gt;
&lt;br /&gt;
[[解析用語]]&lt;br /&gt;
&lt;br /&gt;
=== CAD ===&lt;br /&gt;
[[FreeCAD]]&lt;br /&gt;
&lt;br /&gt;
=== メッシャー ===&lt;br /&gt;
[[Netgen]]&lt;br /&gt;
&lt;br /&gt;
[[Gmsh]]&lt;br /&gt;
&lt;br /&gt;
=== 流体 ===&lt;br /&gt;
[[OpenFOAM]]&lt;br /&gt;
&lt;br /&gt;
[[SU2]]&lt;br /&gt;
&lt;br /&gt;
=== 構造 ===&lt;br /&gt;
[[FrontISTR]]&lt;br /&gt;
&lt;br /&gt;
[[Salome-Meca]]&lt;br /&gt;
&lt;br /&gt;
[[CalculiX]]&lt;br /&gt;
&lt;br /&gt;
[[PrePoMax]]&lt;br /&gt;
&lt;br /&gt;
[[StressRefine]]&lt;br /&gt;
&lt;br /&gt;
[[FEBio]]&lt;br /&gt;
&lt;br /&gt;
[[PlantFEM]]&lt;br /&gt;
&lt;br /&gt;
[[OpenRadioss]]&lt;br /&gt;
&lt;br /&gt;
=== MBD(モデルベースデザイン) ===&lt;br /&gt;
[[OpenModelica]]&lt;br /&gt;
&lt;br /&gt;
=== 機構解析 ===&lt;br /&gt;
&lt;br /&gt;
[[MBDyn]]&lt;br /&gt;
&lt;br /&gt;
[[EXUDYN]]&lt;br /&gt;
&lt;br /&gt;
=== 有限要素法ライブラリ・ツールセット ===&lt;br /&gt;
&lt;br /&gt;
[[GetFEM]]&lt;br /&gt;
&lt;br /&gt;
[[DelFEM2]]&lt;br /&gt;
&lt;br /&gt;
[[sparselizard]]&lt;br /&gt;
&lt;br /&gt;
[[ivyFEM]]&lt;br /&gt;
&lt;br /&gt;
=== マルチフィジックス ===&lt;br /&gt;
[[Elmer]]&lt;br /&gt;
&lt;br /&gt;
=== 粒子法 ===&lt;br /&gt;
[[DualSPHygics]]&lt;br /&gt;
&lt;br /&gt;
[[OpenMPS]]&lt;br /&gt;
&lt;br /&gt;
=== 格子ボルツマン法 ===&lt;br /&gt;
[[Palabos]]&lt;br /&gt;
&lt;br /&gt;
[[waLBerla]]&lt;br /&gt;
&lt;br /&gt;
=== 偏微分方程式ソルバ ===&lt;br /&gt;
&lt;br /&gt;
[[FEniCSx]]&lt;br /&gt;
&lt;br /&gt;
=== 可視化 ===&lt;br /&gt;
[[Paraview]]&lt;br /&gt;
&lt;br /&gt;
[[Mayavi]]&lt;br /&gt;
&lt;br /&gt;
=== 最適化 ===&lt;br /&gt;
[[OpenMDAO]]&lt;br /&gt;
&lt;br /&gt;
[[OpenDA]]&lt;br /&gt;
&lt;br /&gt;
[[Dakota]]&lt;br /&gt;
&lt;br /&gt;
=== クラウド ===&lt;br /&gt;
&lt;br /&gt;
[[SimScale]]&lt;br /&gt;
&lt;br /&gt;
=== ベンチマーク ===&lt;br /&gt;
[https://www.cenav.org/ 計算工学ナビ]&lt;br /&gt;
&lt;br /&gt;
[https://feaber.readthedocs.io/ja/latest/ FEABeR]&lt;br /&gt;
&lt;br /&gt;
=== プログラミング ===&lt;br /&gt;
[[Python]]&lt;br /&gt;
&lt;br /&gt;
[[C++]]&lt;br /&gt;
&lt;br /&gt;
=== その他 ===&lt;br /&gt;
&lt;br /&gt;
[[物性データベース]]&lt;br /&gt;
&lt;br /&gt;
[[Blender]]&lt;br /&gt;
&lt;br /&gt;
[[Maxima]]&lt;br /&gt;
&lt;br /&gt;
[[REDUCE]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2022/opencae オープンCAE Advent Calendar 2022]&lt;br /&gt;
&lt;br /&gt;
[https://adventar.org/calendars/6423 オープンCAE Advent Calendar 2021]&lt;br /&gt;
&lt;br /&gt;
[https://adventar.org/calendars/5192 オープンCAE Advent Calendar 2020]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2019/opencae-ac2019 オープンCAE Advent Calendar 2019]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2018/opencae-ac2018 オープンCAE Advent Calendar 2018]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/advent-calendar/2017/openfoam OpenFOAM Advent Calendar 2017]&lt;br /&gt;
&lt;br /&gt;
=== オープンCAE ===&lt;br /&gt;
[[オープンCAEの系譜]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/channel/UCuffpM6BjZWZ4AEDFiQexEg オープンCAE動画チャンネル]&lt;br /&gt;
&lt;br /&gt;
[[各地の勉強会]]&lt;br /&gt;
&lt;br /&gt;
[[勝手にブックレビュー]]&lt;br /&gt;
&lt;br /&gt;
[[オープンCAE名言集]]&lt;br /&gt;
&lt;br /&gt;
=== Wikiについて ===&lt;br /&gt;
&lt;br /&gt;
本wikiはオープンCAE学会が管理しています。&lt;br /&gt;
オープンCAE学会については[http://www.opencae.or.jp 公式サイト]を参照してください。&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM_11_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=840</id>
		<title>OpenFOAM 11 リリースノート</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM_11_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=840"/>
		<updated>2023-09-09T13:01:44Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: ページの作成:「OpenFOAM Foundationは、OpenFOAMオープンソースCFDツールボックスのバージョン11のリリースを発表します。バージョン11では、1993年のicoFoam以来OpenFOAMに不可欠な従来のアプリケーション・ソルバとは対照的に、クラスとして記述されたモジュラー・ソルバを導入しました。  モジュール型ソルバーは、メンテナンスと拡張がよりシンプルになり、多領域シミ…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenFOAM Foundationは、OpenFOAMオープンソースCFDツールボックスのバージョン11のリリースを発表します。バージョン11では、1993年のicoFoam以来OpenFOAMに不可欠な従来のアプリケーション・ソルバとは対照的に、クラスとして記述されたモジュラー・ソルバを導入しました。  モジュール型ソルバーは、メンテナンスと拡張がよりシンプルになり、多領域シミュレーション、例えば、共役伝熱（CHT）、多相流など、あらゆるタイプの流れに柔軟に対応します。すべてが後方互換性を持っています： 2) simpleFoamなどの古いアプリケーション・ソルバを起動すると、非圧縮流体モジュールを単一領域で実行するスクリプトが実行されます。&lt;br /&gt;
&lt;br /&gt;
OpenFOAM 11には次のようなハイライトがあります。&lt;br /&gt;
&lt;br /&gt;
* モジュール式ソルバー：クラスベースのソルバーにより、多地域シミュレーションなどの柔軟性を向上。&lt;br /&gt;
* Multiphase: multiphaseEulerモジュールの一貫性と保存性が大幅に改善されました。&lt;br /&gt;
* 輸送：熱伝導率の異方性を追加。&lt;br /&gt;
* 熱物理学：入力ファイルのキーワードにおけるプロパティ名の指定を標準化した。&lt;br /&gt;
* 熱伝導：領域間の熱伝導のための簡略化された臨界境界条件。&lt;br /&gt;
* 粒子追跡：粒子のサイズ分布に対する一般化された統計分布。&lt;br /&gt;
* 液体フィルム：質量を節約し、他のモデルに統合する完全な置換。&lt;br /&gt;
* メッシュ：ダイナミック・メッシュ機能の再設計とNCCの統合。&lt;br /&gt;
* ファンクションオブジェクト：フィールド平均化と可視化ファンクションオブジェクトの改良。&lt;br /&gt;
* モデルと制約：多数の新しいモデルと制約。&lt;br /&gt;
* 境界条件：マッピング条件を統合し、MRF条件を導入。&lt;br /&gt;
* ケース設定：新しいfoamToCアプリケーションは、OpenFOAMのモデルとオプションをリストアップします。&lt;br /&gt;
* プログラミング：新しい有限体積関数とアルゴリズムシーケンスの改良。&lt;br /&gt;
* 964件のコードコミット、133件の問題解決。&lt;br /&gt;
* ISO/IEC 14882:2011 (C++14): GCC v5.5+、Clang v16+でテスト済み（v10+でも動作するはず）。&lt;br /&gt;
&lt;br /&gt;
ParaView 5.10.1には、LLVM/Galliumアクセラレーション付きのMesaが含まれており、（サポートされている）グラフィックカードがないシステムにも対応しています：&lt;br /&gt;
&lt;br /&gt;
* Ubuntu Linux: Ubuntu 20.04、22.04、23.04用のパッケージインストール；&lt;br /&gt;
* その他のLinux：Dockerコンテナによるインストール、またはソースコードからのコンパイル；&lt;br /&gt;
* Windows 10: Windows Subsystem for LinuxとUbuntuパックを使用したインストール；&lt;br /&gt;
* macOS: Dockerコンテナによるインストール。&lt;br /&gt;
&lt;br /&gt;
OpenFOAM 11 Source Packは、適切なLinuxプラットフォームでコンパイルできます。&lt;br /&gt;
&lt;br /&gt;
== モジュール式ソルバー ==&lt;br /&gt;
&lt;br /&gt;
* 一般的なアプリケーション: foamRunは新しいモジュラーソルバをロードする一般的なCFDアプリケーションです[ commit 968e60 ]。foamMultiRunアプリケーションは異なるメッシュ領域で異なるモジュラーソルバを実行することができ、共役熱伝導などの複雑な連成問題に対応する汎用ツールを提供します[ commit 968e60 ]。foamPostProcessユーティリティは新しいモジュラーソルバをサポートするpostProcessユーティリティの新しい一般的な置き換えです[ commit 4001d2 ]。&lt;br /&gt;
* 非圧縮性および圧縮性ソルバー： 流体、isoThermalFluid、multicomponentFluid、solidモジュールソルバは、rhoSimpleFoam、rhoPimpleFoam、buoyantFoamからreactingFoamなど多くの従来のソルバーを複製します[ commit 968e60 ]。  非圧縮流体モジュールソルバは、pimpleFoam、pisoFoam、simpleFoamを複製します[ commit ca8918 ]。&lt;br /&gt;
* 体積流体(VoF)を含む多相： compressibleVoFモジュラーソルバはcompressibleInterFoamを複製し[ commit f77119 ]、fvModelsを通してキャビテーションをシミュレートすることができます。非圧縮性二相流のための非圧縮性VoFモジュールソルバーは、interFoamを置き換えるもので、多領域シミュレーションに使用することができます[ commit 851c93 ]。VoFを使用した非圧縮性非混和流体用の非圧縮性MultiphaseVoFモジュラーソルバーはmultiphaseInterFoamを置き換え、マルチリージョンシミュレーションで使用することができます[ commit ffdb21 ]。compressibleMultiphaseVoF モジュラーソルバーは compressibleMultiphaseInterFoam を置き換えるもので、多領域シミュレーションで使用することができます [ commit 64e1e4 ]。&lt;br /&gt;
* 他の混相ソルバー multiphaseEulerモジュールソルバーは、オプションのソース、パーティクル、フィルムモデリングなどを追加するためにfvModelsを使用し、multiphaseEulerFoamを置き換えます[ commit cec035 ]。  incompressibleDenseParticleFluidモジュラーソルバはdenseParticleFoamを置き換えます[ commit e40198 ]充填された領域の境界でパターンをずらすことなく、連続相の一貫した安定した速度を提供するために、面安定化で位相抗力を計算します[ commit 2b74f9 ]。新しい非圧縮DriftFluxモジュールソルバがdriftFluxFoamを置き換えます[ commit b949c2 ]。&lt;br /&gt;
* 燃焼ソルバー XiFoamに代わって、圧縮性予混合/部分予混合燃焼のためのXiFluidモジュール式ソルバーが追加され、マルチリージョンシミュレーションで使用できるようになりました[ commit b7ea5f ]。&lt;br /&gt;
* 衝撃の捕捉 rhoCentralFoamソルバーが再編成されました[ commit 3055b1 ]。オプションでメッシュトポロジーの変更、負荷分散、メッシュモーションを含む衝撃捕捉を伴う圧縮性流体用のshockFluidモジュールソルバーに置き換えられました[ commit fe5a99 ]。shockFluidモジュールはrhoUとrhoEを保存しながらrho、U、eを解きます[ commit 9fadb7 ]。&lt;br /&gt;
* その他のソルバー movingMeshモジュラー・ソルバは、moveMeshの代わりにdynamicMeshDictファイルで指定されたmover、topoChanger、distributorを実行します。functionsモジュラー・ソルバーは、postProcessアプリケーションと-postProcessオプション、特にscalarTransportFoamソルバーを複製して、指定されたソルバーの関数オブジェクトを実行します[ commit 8de6cd ]。&lt;br /&gt;
* 粒子ソルバー： particleFoamとrhoParticleFoamアプリケーションソルバーは、それぞれincompressibleFluidとisothermalFluidモジュラーソルバーの上で、fvModelでfunctionsモジュラーソルバーを実行することで複製されるようになりました[ commit fbda1d ]。&lt;br /&gt;
* 固体ソルバー 固体応力解析のためのsolidDisplacementモジュール・ソルバは、solidDisplacementFoamとsolidEquilibriumDisplacementFoamを置き換えるもので、FSI[ commit 55be80 ]などの多領域シミュレーションで使用できます。&lt;br /&gt;
* フィルムソルバ 新しいisothermalFilmソルバーモジュールは等温液体膜を保守的にシミュレーションし、標準モデリングとのインターフェイスを提供します[ commit dcbd54 ]。isothermalFilmから派生した新しいフィルムソルバモジュールは、エネルギーと熱伝導を計算し、共役熱伝導を計算するために既存の境界条件を使用することができます[ commit 796cfb ]。&lt;br /&gt;
* 数値計算： isothermalFluidモジュラーソルバで浮力圧力の緩和不足が改善されました[ commit c22a5a ]。特殊なSRF(単一参照フレーム)ソルバーを使用したシミュレーションが、MRF(複数参照フレーム)機能を持つ標準ソルバーを使用して完全に再現できるようになりました[ commit 160ee6 ]。compressibleVoFモジュラーソルバに混合物温度の補正式が追加され、エネルギーを節約できるようになりました[ commit 74b302 ]。&lt;br /&gt;
&lt;br /&gt;
== 多相 ==&lt;br /&gt;
&lt;br /&gt;
* モデリング coupledMultiphaseTemperature境界条件は、共役伝熱のためのオイラー・オイラー混相シミュレーションの相温度を結合します[ commit a7d40a ]。圧縮性混相流のために、特定のtwoPhaseChangeModelコードがより一般的なVoFCavitation fvModelに置き換えられ、将来的に他の相変化モデルや界面操作モデルに拡張できるようになりました[ commit 9dc91e ]。multiphaseEulerソルバーに、例えば充填床での沸騰のための固定相のwallBoiling熱伝達モデルが追加されました[ commit 32edc4 ]。圧縮性VoFおよびmultiphaseEulerソルバー用の新しい斉藤キャビテーションモデルが、平面界面での蒸発/凝縮の理論に基づいた物質移動速度を使用するようになりました。[コミット 2f9f8b ]。&lt;br /&gt;
* 多相反応（VTTフィンランドと）： 新しいwallBoilingProperties関数オブジェクトが壁面沸騰に関連するデータを書き出します[ commit 0da491 ]。multiphaseEulerFoam の粒状材料のジョンソン-ジャクソン部分スリップ境界条件を修正しました。壁沸騰モデルからJayatilleke熱壁関数の重複を削除しました。壁面沸騰で温度外挿がより物理的になり、y+が低い領域でより安定になりました[ commit f6342a ]。壁面沸騰が改良され、境界温度をすべての相で均一に保つために流体相間で指定された熱流束を配分するuniformFixedMultiphaseHeatFlux境界条件が追加されました[ commit 377080 ]。混相流での沸騰がより安定し、エネルギーが節約され、正確になりました[ commit 132111 ]。&lt;br /&gt;
* multiphaseEuler ソルバー multiphaseEulerソルバーのセルベースの運動量アルゴリズムが大幅に更新され、一貫性と保存性が改善されました。  陰解法による位相分率補正式に単一の拡散係数を追加し、位相分率の和が1になるようにしました[ commit e8078c ]。  ドラッグテーブルと仮想質量テーブルがオンデマンドで作成されるようになり、ストレージと計算コストが削減されました [ commit ede5ec ]。  抗力と伝熱係数の計算を改善しました[ commit f67445 ]。&lt;br /&gt;
* チュートリアル 新しいfloatingObjectWavesケースは，waveForcing fvModelによって生成された平均流のない波による浮遊物体の運動を示します．多相シミュレーションのためのfvSchemesの仕様の簡素化 [ commit 1c2f61 ]。&lt;br /&gt;
&lt;br /&gt;
== 輸送モデリング ==&lt;br /&gt;
&lt;br /&gt;
* MomentumTransportModels： lambdaThixotropic 粘性モデルには、オプションでBingham塑性降伏応力[ commit 3b1e46 ]が含まれています。&lt;br /&gt;
* ThermophysicalTransportModels： 新しい solidThermophysicalTransportModel は固体の熱物理輸送モデルを提供し、異方的な熱伝導率をサポートします[ commit cdaaa6 ]。異方性熱伝導率を持つ境界での熱流束計算を修正しました[ commit 01d2c6 ]。異方性熱伝導率κにオプションのboundaryAlignedスイッチを追加し、κの主方向を固体境界に合わせるようにしました [ commit d26e0f ]。&lt;br /&gt;
* 乱流： Jayatilleke wall functionの計算を改善しました。&lt;br /&gt;
&lt;br /&gt;
== 熱物理モデリング ==&lt;br /&gt;
&lt;br /&gt;
* 熱力学： fvSolution, 境界条件などの入力ファイルキーワードにおける熱物性名の指定を簡略化し、標準化しました [ commit 87a0b8 ]。新しいconstSolidThermoが一様および非一様な熱物性値指定をサポートしました[ commit 714e13 ]。constSolidThermoを使用した特性は、非一様なフィールドとして表現するか、ゾーンに基づいて表現することによって、領域全体で変化させることができます[ commit a25f99 ]。&lt;br /&gt;
* 輸送： 熱物理学的輸送を再設計し、領域間および外部境界の境界条件をよりシンプルに、拡張可能に、メンテナンスしやすくしました[ commit 5af541 ]。constAnisoSolidThermo熱物性クラスを使用して異方性熱伝導率を指定できるようになりました[ commit 5c296c ]。&lt;br /&gt;
* 設定： 熱物性辞書の名前に正規表現が使えるようになりました [ commit 523333 ]。&lt;br /&gt;
* 化学： 化学積分において、化学種ソースが質量を保存するようになりました[ commit 3d59ed ]。adjustTimeStepToChemistry関数とadjustTimeStepToCombustion関数は反応プロセスに合わせて時間ステップを調整します[ commit 7c684b ]。moleFraction関数は質量分率をモル分率に変換し、massFractionはその逆に変換します[ commit 1b80fd ]。&lt;br /&gt;
&lt;br /&gt;
== 熱伝達 ==&lt;br /&gt;
&lt;br /&gt;
* 数値計算 compressibleInterPhaseThermophysicalTransportModelは、compressibleVoFモジュラーソルバを使用した混相流による共役熱伝達を可能にします。&lt;br /&gt;
* 境界条件： 臨界境界条件をよりシンプルで合理的な名前にすることで、熱伝導のシミュレーションがより簡単になります[ commit 5c01fe ]。&lt;br /&gt;
* 例 新しいcircuitBoardCoolingチュートリアルケースは、3Dサーマルバッフル[ commit 3f33f3 ]による共役熱伝達への効果的なアプローチを示しています。&lt;br /&gt;
&lt;br /&gt;
== パーティクルとトラッキング ==&lt;br /&gt;
&lt;br /&gt;
* トラッキング： ラグランジュパーティクルの境界相互作用が制約境界で修正されました[ commit 6ccaf6 ]。メッシュ間のマッピングを使用してトポロジーが変更された場合にパーティクルがマッピングされるようになりました[ commit 03b061 ]。&lt;br /&gt;
* 射出： 粒子(ラグランジュ)機能において、サブサイクルを削除し、インジェクションの動作を改善しました[ commit 06e29c ]。  統計分布が一般化され、パーティクルのサイズ分布に使用されるようになりました[ commit cae419 ]。  新しいuniformParcelSizeコントロールがパーティクルの固定数、体積、表面積にパーセルサイズを基づかせるようになりました[ commit 0d2fd7 ]。&lt;br /&gt;
* 設定： 任意のシミュレーションに粒子をプラグインするのに役立つ、雲モデル用のサンプルfvModelsファイルを追加しました[ commit 399ea8 ]。&lt;br /&gt;
* モデリング： MPPICの近似補正トラックを予測器-補正器スキームに置き換え、メモリ使用量を削減し、トラッキング時間と関連するパーセル特性へのアドホックな補正を回避しました[ commit ca0003 ]。&lt;br /&gt;
* データ収集： 粒子のフラックス（数、体積、質量）はCloudFunctionObjects [ commit f69b9f ] で計算できます。&lt;br /&gt;
&lt;br /&gt;
== 液体フィルム ==&lt;br /&gt;
&lt;br /&gt;
* 概要 isothermalFilmとフィルムソルバモジュールは、現在削除されているsurfaceFilmModelsライブラリを置き換えるものです。新しいアプローチはより柔軟で、ガス流、ラグランジュ雲、VoF、CHTなどの他の領域との結合が可能です。&lt;br /&gt;
* フィルム-流体界面： filmVoFTransferとVoFFilmTransfer fvModelsはフィルムとVoF領域の間で動作し、フィルムが十分に厚い場合はフィルムをVoF相に移動させ、VoFフィルムが薄すぎる場合はその逆を行う[ commit 72b876 ]。&lt;br /&gt;
* フィルムと粒子の相互作用： パーティクルは、流体 cloudProperties ファイルで cloudFilmTransfer surfaceFilmModel を指定し、filmCloudTransfer fvModel をフィルムに適用することで、表面のフィルムに移動することができます[ commit a2ad71 ]。filmCloudTransferのfvModelに、反転した表面や曲率分離からの滴下によってフィルムから粒子（パーセル）に流体を転送するオプションの排出モデルが追加されました[ commit 2cf8f6 ]。&lt;br /&gt;
* 境界条件： mappedFilmPressure境界条件は流体領域からフィルム領域に圧力をマッピングします[ commit 12decc ]。  新しいfilmSurfaceVelocity境界条件は、隣接する流体領域によって課されるせん断からフィルム表面の速度を評価します[ commit 423fa5 ]。&lt;br /&gt;
* 例 rivuletBoxのサンプルケースは、アルミニウムパネル、小滴を形成する流体の膜、自然対流で流れる周囲の空気の間の熱伝達を実証しています[ commit cee34f ]。&lt;br /&gt;
&lt;br /&gt;
== Meshes ==&lt;br /&gt;
&lt;br /&gt;
* 一般： allGeometryオプションを使用すると、checkMeshは非整形カップル(NCC)のカバレッジを書き出します[ commit 095f4b ]。&lt;br /&gt;
* 生成： extrudeRegionToMesh ユーティリティで intrude オプションを使用してフィルムメッシュを生成できるようになりました [ commit f85026 ]。&lt;br /&gt;
* 非形式結合： 非形式結合(NCC)は任意メッシュインターフェース(AMI)を置き換えるもので、回転する形状やメッシュの非整合領域などに対して、拘束された保守的な数値計算を提供します[ commit f4ac5f ]。メッシュ間のトポロジーの変更に対応するNon-conformal couplingを追加しました[ commit 3ec358 ]。createNonConformalCouples ユーティリティに -fields オプションを追加し、フィールドファイルに非整形カップルに関連するパッチエントリを追加するようにしました [ commit 2db562 ]。Non-Conformalカップルを &amp;quot;stitched &amp;quot;することで、Paraviewなどで補間されたフィールドデータを視覚化する際に不連続性を回避できるようになりました。メッシュからメッシュへのマッピングを含むケースで動作するようにNCCを修正しました[ commit 919972 ]。非共形結合が2次の時間スキームをサポート [ commit a4ca75 ]。多重回転フレーム(MRF)が非共形結合(NCC)と互換性を持つようになりました [ commit a430d0 ]。&lt;br /&gt;
* その他 新しい rigidBodyPoints functionObject は剛体上の点の動きを追跡します [ commit 386588 ]。メッシュの動きとトポロジーの変更に伴う古いフィールドの更新と削除を一般化 [ commit 30eb5e ]。&lt;br /&gt;
* マッピング： メッシュ間のマッピング機能が大幅にリファクタリングされました [ commit 582438 ]。メッシュの再配分がパーティクルを処理できるようになりました [ commit 8f7ae7 ]。共形および非共形インターフェースの両方に対するパッチ間マッピングのロバスト性が改善されました [ commit 020361 ]。メッシュ間マッピングと mapFieldsPar ユーティリティを合理化しました [ commit f95eb5 ]。&lt;br /&gt;
* 分解と再配布： reconstructParユーティリティは分解されたメッシュをフィールドと同様に再構築するようになったので、reconstructParMeshユーティリティは必要なくなり削除されました[ commit c3ab70 ]。&lt;br /&gt;
&lt;br /&gt;
== 機能オブジェクト ==&lt;br /&gt;
&lt;br /&gt;
* 一般： マルチリージョンシミュレーションでメッシュ領域に適用される関数オブジェクトが標準パスにファイルを書き込むようになりました[ commit 5b11f5 ]。新しいstopAtTimeStep関数オブジェクトが、時間ステップが指定したレベル以下になった場合にシミュレーションを停止するようになりました[ commit 4974cc ]。&lt;br /&gt;
* サンプリング： triSurfaceAverage関数オブジェクトは、指定された三角形サーフェス上のフィールドの平均を計算します[ commit c5d70f ]。 cutPolyは、新しい多面体切断ルーチンと、既存のツールよりもロバストで高速な等値面アルゴリズムを提供します[ commit 723f52 ]。&lt;br /&gt;
* メッシュ： 新しい checkMesh functionObject は動的メッシュの場合のメッシュの品質をレポートします [ commit 36e834 ]。&lt;br /&gt;
* フィールド： fieldAverage 関数オブジェクトは構築時に存在しないフィールドを平均化できるようになり、メッシュのトポロジーが変化するケースでも再スタート時に動作するようになりました [ commit 3e8b97 ]。新しいvolAverageとvolIntegrateパッケージ関数オブジェクトはフィールドの体積加重平均と体積積分を便利に処理できます[ commit 5c7131 ]。&lt;br /&gt;
&lt;br /&gt;
== モデルと制約 ==&lt;br /&gt;
&lt;br /&gt;
* 一般： fvModel 関数オブジェクトを使用して、controlDict ファイルから fvModel を設定できるようになりました [ commit 9f6eac ]。また、#includeModel および #includeConstraint ディレクティブは、controlDict ファイルの functions サブディクショナリから fvModel および fvConstraints をインクルードできるようになりました [ commit 3a269e ]。関数オブジェクト、fvModel、fvConstraint の名前と、関連する出力ディレクトリを name キーワードで指定できるようになりました [ commit dc85d5 ]。regionTypeとselectionModeに代わって、selectキーワードがセル、面、点のコレクションを指定するのに使われるようになりました[ commit 295223 ]。zeroDimensionalFixedPressure fvModelとfvConstraintがゼロ次元の場合の圧力拘束を維持するようになりました[ commit 9cdd2a ]。&lt;br /&gt;
* fvModels： surfaceFilms fvModelは、surfaceFilm（単数）モデルを置き換えることで、潜在的に異なる仕様の複数のフィルムをサポートします[ commit b1de50 ]。新しいwaveForcing fvModelは、ドメインインレットで適用することなく、任意の方向に動くように設定できる表面波を生成します[ commit 562925 ]。densityConstraintSourceとpressureConstraintSource fvModelは0次元シミュレーションに膨張/収縮、または質量ソース/シンクを含めることができます[ commit 644a59 ]また、0次元シミュレーションを簡素化するために設定なしで単位立方体形状を生成するzeroDimensionalMeshユーティリティが追加されました[ commit 099505 ]。massSource fvModelは負の質量流量が指定された場合に質量を除去します[ commit d7e330 ]。heatTransfer fvModel が多相シミュレーションの個々の相に適用できるようになりました [ commit 3736bc ]。&lt;br /&gt;
* fvConstraints： 新しい束縛fvConstraintは、スカラー・フィールドが指定された最小値以下になった場合にそのフィールドを束縛します[ commit 1a17ce ]。&lt;br /&gt;
&lt;br /&gt;
== 一般的な境界条件 ==&lt;br /&gt;
&lt;br /&gt;
* Pressure: waveSurfacePressure境界条件がisothermalFluidとfluid modularソルバーでポテンシャル自由表面流を解くように更新され、potentialFreeSurfaceFoamソルバーは廃止されました[ commit 897658 ]。&lt;br /&gt;
* 速度  MRFslip 境界条件はMRF(多基準フレーム)またはSRF(単一基準フレーム)の場合に移動フレームと一緒に回転するスリップウォールに使用できます[ commit ef9566 ]。回転速度(rad/s)を表すomegaエントリは、ユーザーが1分あたりの回転数でデータを入力したい場合、rpmに置き換えることができます[ commit 2da5ed ]。&lt;br /&gt;
* 一般： mappedPatch 境界条件は別のフィールドや別のパッチからのデータを適用します。新しい samePatch スイッチは同じパッチからのフィールドデータに対して単純化します [ commit 320e70 ]。autoMapとrmapに代わり、単一のmap関数が境界条件クラスでパッチ間のマッピングを行うようになりました [ commit 38e8e7 ]。&lt;br /&gt;
&lt;br /&gt;
== ケース構成 ==&lt;br /&gt;
&lt;br /&gt;
* データ可視化： foamSequenceVTKFiles スクリプトは、異なる画像シーケンスで同じ名前のファイルを処理するようになりました [ commit 7f17fc ]。&lt;br /&gt;
* ケースの初期化： 関数ソルバーは、別のソルバーによって初期化されたフィールドに基づいて関数オブジェクトを実行します。フィールドデータが読み込まれる時間は、controlDictファイルのsubSolverTimeエントリによって任意に設定できるようになりました[ commit 714291 ]。結果はcontrolDictで指定されたwriteIntervalの倍数で、開始時間またはオプションのbeginTime項目で設定された時間から書き出されます[ commit 0fa46e ]。新しいsnappyHexMeshConfigユーティリティがsnappyHexMeshでメッシュを作成するために入力ファイルを事前設定します[ commit c25529 ]。&lt;br /&gt;
* コード入力： 特に#codeStreamディレクティブを使用した入力ファイルのキーワード値エントリを生成するのに便利です[ commit d1cb13 ]。codeStreamと#calcで構築された辞書エントリは型付き変数を便利に使用できるようになり、ベクトル、テンソル、リスト、フィールドなどでの計算が可能になりました [ commit b2d4f2 ]。新しい#calcIncludeディレクティブは、数学関数をインクルードするなど、#calc用のヘッダファイルをロードすることができます[ commit 0de23d ]。入力ファイル用の #calc ディレクティブで、代替の #{ ... #} 区切り文字を使用できるようになりました [ commit 8611db ]。calcによる複数行のエントリは、#codeStreamをエミュレートしつつ、よりシンプルな構文で、入力ファイルにより有用なコード化されたエントリを可能にします [ commit 441b60 ]。&lt;br /&gt;
* モデルとオプションの検索: 新しいfoamToCアプリケーションは &amp;quot;目次 &amp;quot;を印刷し、報告し、ユーザーがモデルを見つけ、異なるモデルのオプションをリストアップすることを可能にします[ commit f978ff ]; それは正規表現検索に基づいた機能をリストアップすることができます[ commit db7ea4 ]。&lt;br /&gt;
&lt;br /&gt;
== プログラミング ==&lt;br /&gt;
&lt;br /&gt;
* その他の数値計算 新しいfvm::LaplacianCorrection関数により、熱輸送の実装がより効率的でシンプルになりました。熱物理学的輸送特性は輸送方程式を含まないため、時間ステップの最初に計算されるようになりました[ commit ce42eb ]。輸送方程式を解かない計算の場合、運動量輸送特性は時間ステップの最初に計算されるようになりました[ commit d9ba28 ]。fvc::flux()関数をテンプレート化し、ベクトル流束をサポート [ commit 42c35a ]。新しいfvm::divc関数は、指定されたフラックスの発散を含む明示的なソースを持つ行列と、fluxRequired設定に従ってキャッシュされたフラックスを返します[ commit 1182d3 ]。ddtCorrを多重回転フレーム(MRF)で拡張し、数値振動の原因となる圧力、速度、フラックス間のデカップリングを回避しました[ commit e98dcc ]。連続性を確保するためにフラックスを補正するCorrectPhi関数にいくつかの改良が加えられました; これらはVoFや他の多相ソルバーにとって特に重要です[ commit e66484 ]。&lt;br /&gt;
* フィールド： GeometricField&amp;lt;Type、fvPatchField、volMesh&amp;gt;とGeometricField&amp;lt;Type、fvsPatchField、surfaceMesh&amp;gt;はよりシンプルなVolField&amp;lt;Type&amp;gt;とSurfaceField&amp;lt;Type&amp;gt;型定義に置き換えられました[ commits 73c562 ]。&lt;br /&gt;
* functionObject、fvModel、fvConstraint を使用する場合、可能であれば関連するライブラリが自動的にロードされるようになりました [ commit 0b8c17 ]。&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM_10_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=839</id>
		<title>OpenFOAM 10 リリースノート</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM_10_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=839"/>
		<updated>2023-09-09T12:55:52Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: ページの作成:「  OpenFOAM Foundationは、オープンソースCFDツールボックスOpenFOAMのバージョン10のリリースを発表します。バージョン10は、OpenFOAM開発版のスナップショットで、持続可能な開発により、常にリリース可能です。  使いやすさ、ロバスト性、拡張性が厳しく要求される中、新機能と既存コードの大幅な改良を提供します。  OpenFOAM 10には、次のような重要な…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
OpenFOAM Foundationは、オープンソースCFDツールボックスOpenFOAMのバージョン10のリリースを発表します。バージョン10は、OpenFOAM開発版のスナップショットで、持続可能な開発により、常にリリース可能です。  使いやすさ、ロバスト性、拡張性が厳しく要求される中、新機能と既存コードの大幅な改良を提供します。&lt;br /&gt;
&lt;br /&gt;
OpenFOAM 10には、次のような重要な開発が含まれています。&lt;br /&gt;
&lt;br /&gt;
* 多相：モデルの追加、多相ソルバーのパフォーマンスとロバスト性の向上。&lt;br /&gt;
* トランスポート：プロパティを単一の physicalProperties ファイルに統合。&lt;br /&gt;
* 熱物理：導電率の取り扱いを改善し、ドキュメントを追加。&lt;br /&gt;
* 熱伝導：共役熱伝導における熱結合の改善。&lt;br /&gt;
* パーティクルトラッキング：雲のfvModelを使ったソルバーにプラグインできるようになりました。&lt;br /&gt;
* 反応：化学では、熱膨張を考慮して質量分率を求める。&lt;br /&gt;
* 並列化：負荷分散、分解、再分配のための新しいフレームワーク。&lt;br /&gt;
* メッシュ：snappyHexMesh、blockMesh、その他のツールの全般的な改善&lt;br /&gt;
* ダイナミックメッシュ：AMIに代わる回転ジオメトリ用の非整合結合（NCC）。&lt;br /&gt;
* 動的リメッシング：エンジンを含むメッシュモーションのためのメッシュ間マッピング。&lt;br /&gt;
* ファンクションオブジェクト：サンプリングのためのより効率的な出力、および新しいフィールド計算。&lt;br /&gt;
* モデルと制約：メッシュケースの移動とファンクションオブジェクトでの動作が可能になりました。&lt;br /&gt;
* 境界条件：圧力、速度、温度の新しい一般条件。&lt;br /&gt;
* ケース・コンフィギュレーション：カスタマイズされた時間の尺度を提供するためにuserTimeを作成。&lt;br /&gt;
* 計算：壁までの距離計算、時間処理、I/Oの改善。&lt;br /&gt;
* 約635件のコードコミット、161件の問題解決。&lt;br /&gt;
* ISO/IEC 14882:2011 (C++14): GCC v5.4+、Clang v10+でテスト済み（v6+でも動作するはず）。&lt;br /&gt;
&lt;br /&gt;
OpenFOAM 10は、以下のプラットフォーム用にパッケージ化されています。（サポートされている）グラフィックス・カードがないシステムでは、ParaView 5.6（LLVM/Galliumアクセラレーション付きMesaを含む）[2023年1月更新：ParaView 5.10.1（LLVM/Galliumアクセラレーション付きMesaを含む）]。&lt;br /&gt;
&lt;br /&gt;
* Ubuntu Linux: packaged installation for Ubuntu 18.04 20.04 and 22.04 [ ''22.10 added Jan 2023'' ];&lt;br /&gt;
* その他のLinux：Dockerコンテナによるインストール、またはソースコードからのコンパイル；&lt;br /&gt;
* Windows 10: Windows Subsystem for LinuxとUbuntuパックを使用したインストール；&lt;br /&gt;
* macOS: Dockerコンテナによるインストール。&lt;br /&gt;
&lt;br /&gt;
OpenFOAM 10 Source Packは、適切なLinuxプラットフォームでコンパイルできます。&lt;br /&gt;
&lt;br /&gt;
== 多相 ==&lt;br /&gt;
&lt;br /&gt;
* モデリング： 表面波を（波長の代わりに）周期を入力して指定できるようになりました[ commit 559fe8 ]。また、境界での流れの反転が可能になったので、波はどの方向でも、平均流がゼロでも指定できるようになりました[ commit 1c4868 ]。液体の蒸発モデリングに凝縮スイッチを追加 [ commit cc3b25 ]。multiphaseEulerFoamのサブモデルのブレンドが3相以上のシミュレーションのために拡張されました[ commit 428c54 ]。driftFluxFoamのコロイド分散に対する新しいQuemada粘度モデル [ commit f4b497 ]。driftFluxFoamのMRFによる遠心加速度を修正しました。driftFluxFoamに凝集懸濁液のMichaels and Bolgerモデルを追加。driftFluxFoamで、流れの曲率が連続相からの分散相の分離に物理的に影響するようになりました[ commit 620cbe ]。&lt;br /&gt;
* Reacting Multiphase (VTT FinlandおよびHZDR Dresden-Rossendorfとの共同研究)： Liao et alの合体および分解モデルを追加しました[ commit fe9829 ]。新しいモーメント関数オブジェクトがポピュレーションバランス法で計算された粒度分布の平均特性を計算します[ commit 36c565 ]。multiphaseEulerFoamに固体粒子の合体および破壊モデルを追加しました[ commit b4bcb2 ]。母集団バランス法における膨張の計算を改善しました[ commit 376b51 ]。&lt;br /&gt;
* パフォーマンス/数値計算： compressibleInterFoamの温度方程式はデフォルトでは全内部エネルギーに基づいて定式化されますが、totalInternalEnergyをfalseに設定することで内部エネルギーに基づいて定式化することができます[ commit 12dc41 ]。 compressibleMultiphaseInterFoamがfvModelsとfvConstraintsをサポートするようになりました[ commit 13b782 ]。相率 alpha → 0 の場合の多相ケースの安定化が改善されました[ commit 3df883 ]。新しいphaseStabilisedおよびphaseStabilisedSnGrad補間スキームが、位相分率が1e-3より小さい場合に有界形式に戻すことにより、貧弱なメッシュ上での多相EulerFoamの実行を安定化させるようになりました[ commit 7b3631 ]。&lt;br /&gt;
* チュートリアル 固体粒子の合体および破壊を示す90°曲がり管内の流れのチュートリアル例（Kasper Gram Bilde、HZDR Dresden-Rossendorf との共同研究） [ commit 0999cd ]。&lt;br /&gt;
&lt;br /&gt;
== 輸送モデリング ==&lt;br /&gt;
&lt;br /&gt;
* 一般： 非圧縮性、圧縮性、単一相、多相、単一領域、多領域の流れに対して、特に単一の physicalProperties ファイルによる流体特性の指定を統合しました[ commit 65ef2c ]。&lt;br /&gt;
* MomentumTransportModels： 燃焼のチュートリアルで、輸送特性を計算するためのWilke混合則を示すようになりました[ commit 393023 ]。新しい Andrade モデルが液体の動的粘性と熱伝導率の自然対数を計算するようになりました[ commit 26f0e4 ]。&lt;br /&gt;
* ThermophysicalTransportModels： listThermophysicalTransportModelsオプションを指定してソルバーを実行すると、熱物理輸送モデルをリストアップできるようになりました。&lt;br /&gt;
* 乱流： 新しいVoFTurbulenceDamping fvModelはVoF界面で乱流減衰を適用します[ commit 4f9694 ]。mixtureKEpsilonモデルのεmフィールドにεmWallFunctionを追加しました[ commit 3bac21 ]。レイノルズ応力(R)乱流モデルにおいて、Rと速度Uの結合が改善され、ダクト内の二次流れを示す新しいチュートリアルが追加されました[ commit a34604 ]。&lt;br /&gt;
&lt;br /&gt;
== 熱物理モデリング ==&lt;br /&gt;
&lt;br /&gt;
* 熱力学： 状態方程式 [ commit c86c64 ]、熱力学 [ commit b3e02d ]、輸送モデル [ commit 8dbbe1 ]のヘッダードキュメントを拡張。状態方程式に体積熱膨張係数の関数を追加 [ commit 2d7a57 ]。熱力学は熱拡散率 alpha ではなく熱伝導率 kappa を熱輸送の基本パラメータとして保存するようになりました [ commit cc96ab ]。&lt;br /&gt;
* 輸送： const輸送モデルで、プランドル数の代わりに導電率を指定できるようになりました[ commit cd1f69 ]。&lt;br /&gt;
&lt;br /&gt;
== 熱伝達 ==&lt;br /&gt;
&lt;br /&gt;
* 数値計算 共役熱伝達において、新しいnEcorrループが流体と固体領域間の熱結合が支配的なケースを改善します[ commit f52d86 ]。buoyantSimpleFoamとbuoyantPimpleFoamは、圧縮性流体の定常または過渡の浮力乱流ソルバーbuoyantFoamに統合されました[ commit d40ecd ]。&lt;br /&gt;
&lt;br /&gt;
== パーティクルとトラッキング ==&lt;br /&gt;
&lt;br /&gt;
* ソルバー 雲fvModelは、非圧縮性ソルバーと圧縮性ソルバーの両方で、様々なレベルの結合でシミュレーションに粒子を追加することができます[ commit 5f1146 ]、 例を参照してください[ commit 24a359 ]。&lt;br /&gt;
* トラッキング： トラッキングのロバスト性を改善し、ハングアップ、ゼロ除算、浮動小数点エラーを防止しました [ commit 5272e4 ]。&lt;br /&gt;
&lt;br /&gt;
== 反応する流れ ==&lt;br /&gt;
&lt;br /&gt;
* 化学： 化学モデルは熱膨張に伴う反応速度の変化を考慮するため、濃度ではなく質量分率を解くようになりました[ commit 4f0dfc ]。In-Situ Adaptive Tabulation (ISAT) 化学モデルがリファクタリングされ改善されました[ commit 8145de ]。&lt;br /&gt;
* 燃焼： fixedTemperature 制約を使用した着火の例を追加しました [ commit 19b3b2 ]。&lt;br /&gt;
* 集計： in-situ adaptive tabulation (ISAT) に関するいくつかの問題を修正しました[ commit 011397 ]。&lt;br /&gt;
&lt;br /&gt;
== 平行移動 ==&lt;br /&gt;
&lt;br /&gt;
* ロードバランシング： 一般的なCPUロードバランサーのプロトタイプがローカルセルの計算負荷に基づいてメッシュを並列に再分配します。新しいfvMeshDistributorsライブラリはシミュレーション中のメッシュの並列再配布、特にロードバランシングを提供します[ commit bf5f05 ]。&lt;br /&gt;
* 分解と再配分： fvMesh 内に新しいフレームワークを作成し、ロードバランシングなどの実行時のメッシュ再分配を扱えるようにしました [ commit 687996 ]。負荷分散のためのメッシュ再分配をサポートするためにMeshObjectsに新しいdistribute関数を追加しました[ commit a0ac78 ]。並列ケース用のメッシュの分解と再分配のための個別のコントロールを導入 [ commit f97f63 ]。Zoltanライブラリを使用した新しい並列メッシュ再配分 [ commit 340856 ]。2次時間スキームで実行される移動メッシュケースが再配分によって実行できるようになりました[ commit 97eee8 ]。&lt;br /&gt;
* 最適化： MULESのリミッター計算の並列効率が改善されました[ commit 8cc05a ]。 decomposeParが最小IOのために最適化され、時変メッシュのシーケンスを分解できるように修正されました[ commit 399545 ]。&lt;br /&gt;
&lt;br /&gt;
== メッシュ ==&lt;br /&gt;
&lt;br /&gt;
* 一般： メッシュ生成時に fvMesh と fvSolution ファイルが不要になりました [ commit ddbf2d ]。メッシュデータは、メッシュの動きとトポロジーの変更が発生した場合にのみ、時間ディレクトリに書き込まれるようになりました [ commit b439fc ]。&lt;br /&gt;
* snappyHexMesh： バッフルを持つ複数のlocationInMeshの処理を修正しました[ commit 115144 ]。addLayersがオフの時、addLayersControlsサブ辞書をsnappyHexMeshDictファイルから完全に削除できるようになりました[ commit d87a93 ]。&lt;br /&gt;
* blockMesh： 境界パッチ内で指定されていないブロック面は、defaultPatchエントリで名前とタイプを指定できるデフォルトパッチに集められます[ commit 99cfbd ]。&lt;br /&gt;
* 操作： topoSetユーティリティは非推奨となったsetSetユーティリティを完全に置き換え [ commit 8d887e ]、入力ファイルの構文を簡略化 [ commit 6a657c ]。Zoltan ライブラリを使用した並列ケースでメッシュのリナンバリングを有効にしました [ commit d90f42 ]。createPatch ユーティリティ [ commit 930207 ] と createBaffles ユーティリティが単純化されました [ commit f93300 ]。topoSet で、指定した回転を使用する rotatedBoxToCell ソースによりシンプルな入力オプションを追加しました [ commit c18039 ]。&lt;br /&gt;
* 変換： Fluent3DMeshToFoamメッシュコンバーターがFluentバージョンR2021用に更新されました[ commit 318f78 ]。&lt;br /&gt;
* サーフェスジオメトリ： transformPointsとsurfaceTransformPointsの新しい構文を説明する-helpオプションが追加されました。&lt;br /&gt;
&lt;br /&gt;
== ダイナミック・メッシュ ==&lt;br /&gt;
&lt;br /&gt;
* ノンコンフォーマルカップリング Non-Conformal Coupling (NCC)は、特に、回転するジオメトリをシミュレートする場合など、1つ以上の領域が移動する場合に、信頼性が低く、不正確なAMIとACMI機能に代わって、独立したメッシュで領域の領域を接続します[ commit 569fa3 ]。AMI、ACMI、リピートAMIのすべてのチュートリアル例がNon-Conformal Couplingを使用するように変更されました。ACMI と Repeat AMI は信頼性が低いので OpenFOAM から削除され、Non-Conformal Coupling に置き換えられました。AMI は v10 リリースまで残りますが、その後削除されます。[コミット b4b8b2 ]。&lt;br /&gt;
* その他 moveDynamicMeshユーティリティはmoveMeshに改名され、同名のユーティリティは廃止されました[ commit 31da3a ]。シミュレーションがトポロジカルメッシュの変更リストを受けられるようになりました[ commit 45428b ]。剛体力学に回転ジョイントを追加しました。例えば、移動する船にプロペラを組み合わせるために使用します [ commit 0289f3 ]。&lt;br /&gt;
&lt;br /&gt;
Non-Conformal Coupling の詳細については、&amp;quot;OpenFOAM Non-Conformal Coupling&amp;quot; および &amp;quot;Using NCC in OpenFOAM&amp;quot; を参照してください。&lt;br /&gt;
&lt;br /&gt;
== ダイナミック・リ・メッシング ==&lt;br /&gt;
&lt;br /&gt;
* マッピング： mapFields ユーティリティのコードを簡素化しました [ commit 08b7a9 ]。最新のmesh-to-mesh mappingでは、トポロジーやジオメトリの変更、メッシュの精密化および精密化解除などを管理するために、事前に生成されたメッシュのセットを使用できます [ commit 47b0cd ]。  メッシュ間マッピングが並列実行時のメッシュ間の分解の変更をサポートするようになりました [ commit f0e693 ]。&lt;br /&gt;
* エンジン： エンジンシミュレーション用の新しいエンジンとlayeredEngine fvMeshMoverを追加しました [ commit 941ea1 ]XiFoamで使用されるようになり、XiEngineFoamは冗長になりました [ commit 8f14b6 ]。エンジンfvMeshMoverのエンジンバルブとピストン機能をリファクタリングしました [ commit 49faf0 ]。rhoPimpleFoamとエンジンfvMeshMoverは反応なしでエンジンをシミュレーションすることができ、coldEngineFoamソルバーを冗長化します [ commit 640cd6 ]。同様にreactingFoamは化学反応ありのエンジン計算をシミュレーションすることができ、engineFoamソルバーを冗長化します [ commit facc36 ]。&lt;br /&gt;
&lt;br /&gt;
== ファンクション・オブジェクト ==&lt;br /&gt;
&lt;br /&gt;
* サンプリング： サンプルのサーフェスはすべてのフィールドデータを1つのファイルに書き出すようになり、ビジュアライゼーションの後処理を簡素化し、サーフェスジオメトリデータの重複を避けることでディスク容量を削減しました [ commit 261ce0 ]。CSVフォーマットの書き込みを改善しました。サンプリングデータにおいて、トラッキングが現在の時間レベルで確実に実行されるようになりました[ commit 41b73e ]。ストリームラインが周期境界を越えて伝播するようになりました [ commit 701fc2 ]。サンプリングとストリームラインを改良し、無駄なファイル書き込みを減らし、サンプリング・セグメントと並列化の信頼性を高め、インターフェイスを改善しました[ commit 25a6d0 ]。新しいlayerAverage関数オブジェクトがpostChannelポスト処理ユーティリティを置き換えます[ commit 053eed ]。layerAverage関数オブジェクトを書き換えて、例えばカーブしたパイプのような複雑な形状の変化にも対応できるようにしました [ commit d5820b ]。&lt;br /&gt;
* 視覚化： サーフェス関数オブジェクトにwriteEmptyオプションを追加し、特にアニメーションを生成する際のisoSurfacesに空のファイルを書き出すようにしました[ commit 2d1428 ]。&lt;br /&gt;
* フィールド： confort関数オブジェクトはドラフトレートを計算するために拡張されています[ commit 19950f ]。scalarTransport関数オブジェクトは、特に拡散がなく、圧縮または(M)PLICスキームを使用してシャープな界面が維持されている場合に、境界性を確保するためにMULESを使用するオプションを含んでいます[ commit aa6c04 ]。wallShearStress関数オブジェクトが多相系での指定相の壁せん断応力を処理できるようになりました[ commit e6acc7 ]。  wallHeatFlux 関数オブジェクトが多相系で指定した相の壁熱流束を計算できるようになりました [ commit 7d4dca ]。&lt;br /&gt;
&lt;br /&gt;
パッケージ化された機能オブジェクトの最新リストについては、ユーザーガイドを参照： 6.2 後処理 CLI を参照してください。&lt;br /&gt;
&lt;br /&gt;
== モデルと制約 ==&lt;br /&gt;
&lt;br /&gt;
* 一般： fvModelsとfvConstraintsにメッシュモーション用のアップデートを追加しました[ commit 19bdfa ]。 fvModelsとfvConstraintsは方程式を解く関数オブジェクト、例えばscalarTransport、スカラー場のモデルと制約を提供する関数オブジェクトと連動できるようになりました[ commit 987d59 ]。&lt;br /&gt;
* fvModels： actuationDisk fvModelが多相ソルバーで動作するようになり [ commit 96de80 ]、ディスクの向きをサポートするようになりました [ commit 991489 ]。時間ステップをfvModelで制限できるようになりました[ commit e478bb ]。新しいinterfaceTurbulenceDamping fvModelが相界面付近の乱流の減衰を提供するようになりました[ commit 898924 ]また、phaseTurbulenceStabilisation fvModelが相率→0の場合に相の乱流特性を安定させるようになりました[ commit 9925df ]。&lt;br /&gt;
* fvConstraints： limitTemperature fvConstraintが、compressibleInterFoamのような、エネルギー方程式の解変数として温度を使用するソルバーに対応しました[ commit fb53b9 ]。limitPressure fvConstraintに制限圧力場を指定するオプションを追加しました[ commit 3b3127 ]。limitVelocity fvConstraintをより一般的なlimitMagに置き換えました。&lt;br /&gt;
&lt;br /&gt;
== 一般的な境界条件 ==&lt;br /&gt;
&lt;br /&gt;
* Pressure: 新しい transonicEntrainmentPressure 境界条件は、ユーザーが指定できるマッハ数 [ commit 63ef6f ] から始まる超音速流出とゼロ勾配に向かってブレンドすることにより、出口境界 [ commit d10f22 ] で超音速ジェットをサポートします。totalPressure境界条件は、フリーストリームで指定できる外部接線速度[ commit a36082 ]で確実に機能します[ commit ba5612 ]。&lt;br /&gt;
* 速度： 新しいmovingWallSlipVelocity境界条件は、動く壁のスリップ条件を提供します[ commit 80c1a6 ]。  flowRateInletVelocity 境界条件で、層流境界層と乱流境界層に対応するオプションの流速プロファイルと、平均流速に基づく流速指定を選択できるようになりました[ commit 8bb48d ]。&lt;br /&gt;
* 温度 externalWallHeatFluxTemperature 境界条件は、複数の熱源、すなわちパワー、フラックス、伝達係数を同時に設定できるようになりました[ commit 373c49 ]。&lt;br /&gt;
* 一般： テンソルの回転周期変換を修正しました。&lt;br /&gt;
&lt;br /&gt;
== Case Configuration ==&lt;br /&gt;
&lt;br /&gt;
* データ可視化： foamCreateVideoに新しいオプションが追加され、動画の開始時や終了時に一時停止ができるようになった [ commit c70a7b ]。&lt;br /&gt;
* ケースの初期化： userTimeの概念を一般化し、controlDictで設定することで、実行時間をカスタマイズされた時間の尺度に変換することができます。例えば、データI/Oのためのクランク角などです。engineTimeは、標準ソルバーにエンジンシミュレーションを統合するためのさらなるステップとして、設定可能なengine userTimeに置き換えられました。&lt;br /&gt;
&lt;br /&gt;
== Programming and Computation ==&lt;br /&gt;
&lt;br /&gt;
* データ入力： オブジェクトファイルの存在をチェックし、オブジェクトを構築することなくヘッダをチェックできるIOobjectの新しいtypeIOobject [ commit b91233 ]。I/Oにおけるファイルパスの取り扱いを合理化した[ commit cc9233 ]。&lt;br /&gt;
* その他の数値計算: cpuTimeがPOSIX clock()関数を使用するようになり、分解能が向上しました[ commit 01f075 ]。圧縮性ソルバーで圧力方程式の計算開始時の密度予測を標準化しました [ commit 468954 ]。meshWave機能の重複コードを削除し[ commit 20ef80 ]、最も近い壁までの距離計算で使用される変換インターフェイスによる計算を単純化しました[ commit 4e0577 ]。壁までの距離の計算がプロセッサーや周期的な境界でより一貫したものになり、計算の精度をより細かく制御できるようになりました [ commit 9d702d ]。&lt;br /&gt;
* コンパイル： GCC コンパイラ v11 [ commit d83c87 ] と OneAPI Intel コンパイラ [ commit 37108e ] のサポートを追加しました。&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM&amp;diff=838</id>
		<title>OpenFOAM</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM&amp;diff=838"/>
		<updated>2023-09-09T12:48:58Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;このページではOpenFOAMについてまとめていきます。&lt;br /&gt;
&lt;br /&gt;
== リリースノート ==&lt;br /&gt;
&lt;br /&gt;
'''OpenCFD'''&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2306リリースノート|OpenFOAM v2306 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2212 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2206 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2112 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2106 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[https://www.notion.so/OF2012-3625e0d8029b40bda20fafe481dcbd95 OpenFOAM v2012 リリースノート]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2006 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1912 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1906 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1812 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1806 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The OpenFOAM Foundation'''&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 11 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 10 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 9|OpenFOAM 9 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 8 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v7 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v6.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 4.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 3.0.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 2.4.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
==スターティングガイド==&lt;br /&gt;
[[OpenFOAMについて]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAMのインストール]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/e63d4cf76ea2fea659b2 チュートリアルケースの実行]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/24b8491bf9776c3a27db OpenFOAMで入力できる項目の調べ方]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/e4b13100e15508981a85 OpenFOAMの$FOAM変数]&lt;br /&gt;
&lt;br /&gt;
==困った時は？==&lt;br /&gt;
[https://qiita.com/mmer547/items/7c7c257dcaf2efbc730b OpenFOAM Google Groupに投稿する際に抑えるポイント]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/6b041536e2ac5dd17721 OpenFOAMで計算するネタがない時の探し方]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAMのエラーメッセージの対応]]&lt;br /&gt;
&lt;br /&gt;
==プリプロセス==&lt;br /&gt;
&lt;br /&gt;
===形状作成===&lt;br /&gt;
&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/OpenFOAM%EF%BC%9A%E5%BD%A2%E7%8A%B6%E4%BD%9C%E6%88%90 形状作成ツールまとめ]&lt;br /&gt;
&lt;br /&gt;
===メッシュ===&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/OpenFOAM%E3%81%AE%E3%83%A1%E3%83%83%E3%82%B7%E3%83%A3%E3%83%BC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6 OpenFOAMのメッシャーについて]&lt;br /&gt;
&lt;br /&gt;
[[メッシュ作成:blockMesh]]&lt;br /&gt;
&lt;br /&gt;
[[メッシュ作成:snappyHexMesh]]&lt;br /&gt;
&lt;br /&gt;
[[メッシュ作成:cfMesh]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/9fca38b8e8eadc869bb8 SalomeでOpenFOAMのメッシュを用意する方法]&lt;br /&gt;
&lt;br /&gt;
===境界条件===&lt;br /&gt;
[[境界条件]]&lt;br /&gt;
&lt;br /&gt;
==ソルバ==&lt;br /&gt;
[[simpleFoamについて]]&lt;br /&gt;
&lt;br /&gt;
[[ExecutionTimeとClockTimeについて]]&lt;br /&gt;
&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/SIMPLEC%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E8%A8%88%E7%AE%97%E5%AE%9F%E8%A1%8C%EF%BC%88OpenFOAM3.0.1%EF%BC%89 SIMPLECを使用した計算実行（OpenFOAM3.0.1）]&lt;br /&gt;
&lt;br /&gt;
===並列計算の実行方法===&lt;br /&gt;
&lt;br /&gt;
[[decomposeParDictの中身]]&lt;br /&gt;
&lt;br /&gt;
===エラーメッセージ===&lt;br /&gt;
[[v1806のエラーメッセージ]]&lt;br /&gt;
&lt;br /&gt;
==ポストプロセス==&lt;br /&gt;
[[ログファイルから残差ログを抽出]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/e463235ddb93f08db68a OpenFOAMのpostProcessについて]&lt;br /&gt;
&lt;br /&gt;
==チュートリアルケース==&lt;br /&gt;
[[チュートリアルケース|チュートリアルケース一覧]]&lt;br /&gt;
&lt;br /&gt;
==カスタマイズ==&lt;br /&gt;
[https://qiita.com/mmer547/items/2997bf8c71fe1e2423c9 OpenFOAM ソースコードの探し方]&lt;br /&gt;
&lt;br /&gt;
==その他==&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/foam-extend_4.0%E3%82%92Bash_on_Ubuntu_on_Windows%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB foam-extend 4.0をBash on Ubuntu on Windowsにインストール]&lt;br /&gt;
&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/ESI_Windows%E7%89%88OpenFOAM%E3%81%AE%E5%B0%8E%E5%85%A5 ESI Windows版OpenFOAMの導入]&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/OpenCAE/Supercomputer-OpenFOAM-Training/-/wikis/home スーパーコンピュータOpenFOAM講習会]&lt;br /&gt;
&lt;br /&gt;
== 関連サービス ==&lt;br /&gt;
=== プリプロセス ===&lt;br /&gt;
[https://www.xsim.info/products/products.html XSim.Work]&lt;br /&gt;
&lt;br /&gt;
== 関連書籍 ==&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEDEXCS-OpenFOAM%E3%83%8F%E3%83%B3%E3%83%89%E3%83%96%E3%83%83%E3%82%AF-%E9%87%8E%E6%9D%91-%E6%82%A6%E6%B2%BB/dp/4621306138/ref=sr_1_5?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-5 オープンCAEのためのDEXCS for OpenFOAMハンドブック]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%81%AB%E3%82%88%E3%82%8B%E7%86%B1%E7%A7%BB%E5%8B%95%E3%81%A8%E6%B5%81%E3%82%8C%E3%81%AE%E6%95%B0%E5%80%A4%E8%A7%A3%E6%9E%90-%E7%AC%AC2%E7%89%88-%E4%B8%80%E8%88%AC%E7%A4%BE%E5%9B%A3%E6%B3%95%E4%BA%BA%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E5%AD%A6%E4%BC%9A/dp/4627691025/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-1 OpenFOAMによる熱移動と流れの数値解析(第2版) ]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%81%AE%E6%AD%A9%E3%81%8D%E6%96%B9-%E6%8A%80%E8%A1%93%E3%81%AE%E6%B3%89%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%EF%BC%88NextPublishing%EF%BC%89-%E5%B7%9D%E7%95%91-%E7%9C%9F%E4%B8%80/dp/4844379526/ref=sr_1_6?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-6　OpenFOAMの歩き方]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9-%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%83%86%E3%83%A9%E3%83%90%E3%82%A4%E3%83%88/dp/4627691610/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-2 OpenFOAMライブラリリファレンス]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-Tomislav-Mari%C2%B4c/dp/4627670915/ref=sr_1_3?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-3 OpenFOAMプログラミング]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%81%AB%E3%82%88%E3%82%8B%E7%86%B1%E7%A7%BB%E5%8B%95%E3%81%A8%E6%B5%81%E3%82%8C%E3%81%AE%E6%95%B0%E5%80%A4%E8%A7%A3%E6%9E%90-%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E5%AD%A6%E4%BC%9A/dp/4627691017/ref=sr_1_4?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-4 OpenFOAMによる熱移動と流れの数値解析]&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM_8_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=837</id>
		<title>OpenFOAM 8 リリースノート</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM_8_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=837"/>
		<updated>2023-09-09T12:47:40Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: ページの作成:「OpenFOAM Foundationは、オープンソースCFDツールボックスOpenFOAMのバージョン8のリリースを発表します。バージョン8は、OpenFOAM開発版のスナップショットであり、持続可能な開発により、常にリリース可能です。  バージョン8は、ユーザビリティ、ロバスト性、拡張性が厳しく要求される中、新機能と既存コードの大幅な改良を提供します。  OpenFOAM 8には…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenFOAM Foundationは、オープンソースCFDツールボックスOpenFOAMのバージョン8のリリースを発表します。バージョン8は、OpenFOAM開発版のスナップショットであり、持続可能な開発により、常にリリース可能です。  バージョン8は、ユーザビリティ、ロバスト性、拡張性が厳しく要求される中、新機能と既存コードの大幅な改良を提供します。&lt;br /&gt;
&lt;br /&gt;
OpenFOAM 8には、次のような重要な開発が含まれています。&lt;br /&gt;
&lt;br /&gt;
* マルチフェーズ：インターフェイス捕捉のための選択可能な補間、PLIC方式。&lt;br /&gt;
* 多相反応：統合多相EulerFoamソルバーとモデル開発。&lt;br /&gt;
* 輸送: 新しい MomentumTransportModels と ThermophysicalTransportModels ライブラリ。&lt;br /&gt;
* 熱物理学：熱力学と状態方程式モデル、データ入力、リファクタリング。&lt;br /&gt;
* サーフェスフィルム：大幅な性能向上と表面処理の改善。&lt;br /&gt;
* 熱伝導：数値計算とケース設定の改善、新しい熱的快適性のモデル化。&lt;br /&gt;
* パーティクルトラッキング：非結合ソルバーの名称変更、トラッキング効率の向上、インジェクション。&lt;br /&gt;
* その他のモデル：過渡/定常状態ソルバー、境界条件、反応。&lt;br /&gt;
* メッシュ：snappyHexMeshとblockMeshの改良、面中心の計算、サイクリックパッチ。&lt;br /&gt;
* 機能オブジェクト：可視化／フィールド、滞留時間、コンフィギュレーションの改善。&lt;br /&gt;
* ケース・コンフィギュレーション：新しいコンフィギュレーション／初期化ツール、コード化された Function1.&lt;br /&gt;
* 計算：データI/Oの改善、フィールドキャッシング、Armプロセッサーのサポート。&lt;br /&gt;
* 約710件のコードコミット、200件以上の問題解決&lt;br /&gt;
* ISO/IEC 14882:2011 (C++11): GCC v5.4+、Clang v3.8+、Intel ICC v18.0+でテスト済み。&lt;br /&gt;
&lt;br /&gt;
ParaView 5.6.0（LLVM/Galliumアクセラレーション付きMesaを含む）は、（サポートされている）グラフィックカードがないシステム用にパッケージ化されています：&lt;br /&gt;
&lt;br /&gt;
* Ubuntu Linux: Ubuntu 16.04、18.04、20.04用のパッケージインストール；&lt;br /&gt;
* その他のLinux：Dockerコンテナによるインストール、またはソースコードからのコンパイル；&lt;br /&gt;
* Windows 10: Windows Subsystem for LinuxとUbuntuパックを使用したインストール；&lt;br /&gt;
* macOS: Dockerコンテナによるインストール。&lt;br /&gt;
&lt;br /&gt;
OpenFOAM 8 Source Packは、適切なLinuxプラットフォームでコンパイルできます。&lt;br /&gt;
&lt;br /&gt;
== 一般多相 ==&lt;br /&gt;
&lt;br /&gt;
* モデリング 新しい界面捕捉フレームワークにより、fvSchemesで二相流の補間法を指定できるようになりました[ commit fa79ba ]。多相界面ハンドリングのための新しい補間スキームファミリーは、区分線形界面計算(PLIC) [ commit 1611e0 ]に基づいています。[詳細情報: &amp;quot;OpenFOAM における界面捕捉&amp;quot; ]。&lt;br /&gt;
* 性能/数値計算： mixtureKEpsilonモデルにおける気泡生成乱流の位相分率リミッターにより、気泡が存在しない場合のスプリアス乱流生成を回避 [ commit f84708 ]。多相VoFの制御パラメータを一元化しました[ commit 8af31c ]。&lt;br /&gt;
* 後処理: phaseMap関数オブジェクトは複数のフェーズに対して単一のフェーズマップフィールドを書き込みます[ commit 35a04f ]。&lt;br /&gt;
&lt;br /&gt;
== 反応する多相 ==&lt;br /&gt;
&lt;br /&gt;
==== VTTフィンランドおよびHZDRドレスデン・ローゼンドルフとともに ====&lt;br /&gt;
&lt;br /&gt;
* 統合されたmultiphaseEulerFoam: reactingMultiphaseEulerFoam、twoPhaseEulerFoam、reactingTwoPhaseEulerFoamを複製し置き換える。反応がオフの場合、&amp;quot;古い &amp;quot;multiphaseEulerFoamが再現されます[ commit b83245 ]。位相方程式が解かれない参照相を指定することができ、&amp;quot;古い&amp;quot;(reacting)TwoPhaseEulerFoamが再現されます[ commit d1170c ]。&lt;br /&gt;
* 位相運動量： 暗黙的な相圧力の取り扱いを改善し、粒子床における充填のシミュレーションをよりロバストかつ安定的に行えるようになりました[ commit 3fbd9a ]また、充填床における性能を改善しました[ commit ba6b55 ]。運動論モデルを任意の一対の相に一般化しました[ commit 01f4fa ]。&lt;br /&gt;
* その他の相モデリング： 熱力学、反応、種分率の補正の順序を改善 [ commit 89023d ]。相の速度とフラックスが全体の混合物に対応するように修正 [ commit 27ce5a ]、およびMRF計算 [ commit 658b0c ]。反応相の多成分拡散モデリングをサポートするコード構造を追加 [ commit 854dae ]。&lt;br /&gt;
* 相変化： 熱相変化と境界条件 [ commit 94a5e0 ]。物質移動プロセスの修正[ commit df6835 ]、相ペアの保存とその界面組成モデルの指定の改善[ commit 474962 ]。&lt;br /&gt;
* 人口バランス： 分散相にフラクタル形状を追加 [ commit cfbb38 ]。物質移動速度とソース項の同期化 [ commit cebc40 ]。PrinceBlanch合体モデルに層流せん断を追加 [ commit 6ad711 ]。&lt;br /&gt;
* インターフェース 分散相の粒子について、単位体積あたりの表面積を保存することができます[ commit 8df44a ]。飽和モデルを相のペアに対して指定することができるようになり、異なる界面や壁の異なる相で複数の伝熱過程をシミュレートすることができるようになりました[ commit aedb44 ]。Alberto Passalaqua氏による流動層シミュレーション用の新しいガン熱伝達モデル [ commit 8e2402 ]。alphatWallBoilingWallFunction境界条件を完全に定義しました[ commit 4d0661 ]。&lt;br /&gt;
* 反応： 新しいsurfaceArrheniusReactionRateモデルは、単位体積あたりの表面積の関数である反応速度を提供します[ commit 8c9e46 ]。&lt;br /&gt;
* 乱流: kOmegaSSTSato モデルが完全に動作するようになりました [ commit 8ce466 ]. yPlus が特定のフェーズに対して計算できるようになりました [ commit 02dcff ]. 乱流分散モデルの力を面フラックスから計算 [ commit 124c70 ]。乱流分散モデルを修正 [ commit 64da7a ]。&lt;br /&gt;
* 数値計算：粒子圧の数値処理が改善され、流動床などのシミュレーションが大幅に高速化されました[ commit da429d ]。&lt;br /&gt;
* 境界条件： 相ごとに適用される外部および連成伝熱境界条件 [ commit b494e5 ].&lt;br /&gt;
* チュートリアル: bubblePipe [ commit 2be90f ]. 改良されたチュートリアルでコード修復をテスト [ commit 474962 ]。  新しい damBreak4Phase チュートリアルでインターフェースのキャプチャをデモ [ commit 89439a ]。&lt;br /&gt;
&lt;br /&gt;
== 輸送モデリング ==&lt;br /&gt;
&lt;br /&gt;
* MomentumTransportModels：新しいライブラリは、非圧縮性/圧縮性ニュートン、非ニュートン、粘弾性層流、レイノルズ平均、乱流のラージエディシミュレーションのための運動量方程式のせん断応力を一般化します。&lt;br /&gt;
* ThermophysicalTransportModels:複雑なエネルギーと化学種の輸送モデル、特に多成分拡散を可能にするために作られた新しいライブラリ [ commit 25b348 ]。divjとj関数は物質輸送のための新しいインターフェイスを提供します [ commit b4cf40 ]。&lt;br /&gt;
* 乱流： SpalartAllmaras DESモデルにおいて、一時的な場の保存を減らし、LES領域の書き込みを可能にしました[ commit 4a810c ]。kkLOmega乱流モデルの安定性を改善しました[ commit 3c64dc ]。乱流による質量拡散率を熱拡散率とは別に乱流のプランドル数とシュミット数で指定できるようになりました[ commit 86f2c6 ]。&lt;br /&gt;
* 粘弾性： PTT (Phan-Thien-Tanner) 粘性モデル [ commit 99982d ] およびマルチモード粘弾性モデル [ commit a7eb35 ]。&lt;br /&gt;
* 種： 種が表面に堆積するための新しい吸着境界条件 [ commit bcc867 ]。&lt;br /&gt;
&lt;br /&gt;
== 熱物理モデリング ==&lt;br /&gt;
&lt;br /&gt;
* 熱力学： 熱物理モデリングに分別エンタルピー関数を追加 [ commit 086034 ]。標準状態の混合物のGibbs自由エネルギーを計算するGstd関数を追加 [ commit 73c6f9 ]。液体用の新しい熱物性クラスが追加され、各物性の関数と係数が入力ファイルを通して設定されるようになりました [ commit 375e1f ]。 heSolidThermo 熱物性モデルが更新され、修正された状態係数混合方程式を使用するようになりました [ commit c909bd ]。&lt;br /&gt;
* 状態方程式: rPolynomial (逆多項式) が液体と固体のデータによくフィットし、混合種の係数の計算をサポート [ commit 481797 ]。状態方程式の係数混合を大幅に修正しました[ commit c8d434 ]。比熱容量が圧力一定か体積一定かによって状態方程式からエントロピーのための別々の関数を作成 [ commit fa9ccc ]。&lt;br /&gt;
* データ入力： 熱物性を指定するための一様でないテーブル、高速アドレス指定で最適化 [ commit 73a594 ]。状態方程式、熱力学、輸送モデル用の温度の関数表 [ commit 4c2fae ]。&lt;br /&gt;
* リファクタリング： 熱物理モデルをインスタンス化するためのマクロを書き換え、2,500行のコードを削減 [ commit fe8908 ]。反応物/生成物燃焼混合物から純粋種に基づく混合物を分離 [ commit 80f15b ]。種の特性、例えば絶対エンタルピーをセルレベルではなくフィールドレベルで評価するフレームワークを追加 [ commit e695df ]。&lt;br /&gt;
&lt;br /&gt;
== 表面フィルム ==&lt;br /&gt;
&lt;br /&gt;
* パフォーマンス： 100%保守的に書き換え、30倍高速化 [ commit 0ad918 ]。内部コーナーがある場合の静水圧問題を修正 [ commit 131a9f ]。高い表面張力での収束性[ commit 68a384 ]と安定性[ commit 7d03ae ]を大幅に改善。  強い密度勾配をサポートし、表面コーナーでの以前のエラーを克服 [ commit f6688b ]。&lt;br /&gt;
* 表面： 表面速度が放物線プロファイルを仮定するように修正 [ commit 2b82c3 ]。表面速度と壁速度の取り扱いを合理化、単純化しました[ commit 663970 ]。&lt;br /&gt;
* モデル： チキソトロピックモデルを修正 [ commit 9025e2 ]、ビンガム塑性降伏応力のオプションを追加 [ commit 3d7031 ]。&lt;br /&gt;
&lt;br /&gt;
== 熱伝達 ==&lt;br /&gt;
&lt;br /&gt;
* ケースのセットアップ： chtMultiRegionFoam [ commit a9ddd7 ]に流体や固体の領域を持たないケースのサポートを追加しました。&lt;br /&gt;
* 数値計算： 共役伝熱ソルバーで固体のエンタルピーをエネルギーに変更しました[ commit c109be ]。伝熱および浮力ソルバーにオプションの圧力参照pRefを追加しました。&lt;br /&gt;
* 浮力駆動フロー: Tobias Holzmann氏との共同作業により、DIN ISO EN 7730:2005に基づく熱的快適性のための快適性関数オブジェクトを追加しました [ commit 280c05 ]。buoyantPimpleFoamにメッシュの移動/変更機能を追加しました[ commit 38fff7 ]。&lt;br /&gt;
&lt;br /&gt;
== パーティクルとトラッキング ==&lt;br /&gt;
&lt;br /&gt;
* ソルバー： 非結合ソルバー particleFoam と rhoParticleFoam [ commit 9fd917 ] と関数オブジェクト particles [ commit 9fd917 ] の名前を変更しました。&lt;br /&gt;
* トラッキング： 特にストリームラインなどの後処理において、メッシュが動く場合の効率が向上しました。&lt;br /&gt;
* 注入： Rosin-Rammler粒子分布モデルのクリッピングを改善しました[ commit 8604c1 ]。CellZoneInjection のセル間のパーティクル分布を修正しました [ commit b507f3 ]。&lt;br /&gt;
* モデリング： エトヴェシュ数の計算を修正 [ commit aab3a2 ]。放射線散乱に影響する粒子雲の散乱を修正 [ commit 7e6528 ]。&lt;br /&gt;
&lt;br /&gt;
== Other Modelling ==&lt;br /&gt;
&lt;br /&gt;
* ソルバー： rhoPimpleFoamはrhoSimpleFoamと同じ結果を定常時間スキームで生成し、rhoReactingFoamもSIMPLE操作をサポートするように更新されました[ commit 97cda4 ]。高速での圧縮性流れソルバーのアルゴリズムを改良しました。solidDisplacementFoamが標準的な熱伝導境界条件を使用できるように、標準的な固体熱物理モデリングを使用するように修正しました[ commit 640027 ]。&lt;br /&gt;
* 境界条件(BC)： 新しいentrainmentPressureは、totalPressureが失敗することがある外部境界での優れた安定性を提供します[ commit 6c887b ]。freestreamVelocityの収束が改善されました[ commit f7bcc1 ]. flowWithOpenBoundaryチュートリアルは開いた境界での条件を探索します[ commit 197b14 ]. pressureInletOutletVelocity 境界条件のオプションの tangentialVelocity が時間変化するようになりました [ commit d9fc45 ]。&lt;br /&gt;
* 反応： reactingMixtureをリファクタリングし、反応のリストが反応から派生しないようにしました [ commit 3dc362 ]。singleStepReactingMixtureの機能をsingleStepCombustionクラス内に移動し、反応スキームのインスタンス化をリファクタリングする第一歩としました [ commit b8fcd1 ]。chemistryModel、reactions、ODESolverの反応速度を評価するすべての関数にindex引数を追加しました[ commit 2d0f45 ]。&lt;br /&gt;
* 剛体力学： SeongMo Yeonとの外力拘束 [ commit 278ba8 ].&lt;br /&gt;
* ソース semiImplicitSource fvOption は方程式のソース項を設定するためのもので、スカラー、ベクトル、テンソルに対して一般化され [ commit b6f91d ]、時変関数を可能にする Function1 をサポートしています [ commit 95b5ef ]。&lt;br /&gt;
&lt;br /&gt;
== メッシュ ==&lt;br /&gt;
&lt;br /&gt;
* snappyHexMesh： 例えば小さな隙間の場合 [ commit 4c08b4 ] 、surfaceFeatures [ commit 509f15 ] によって計算されたサーフェスの近さを使用して、サーフェスフィーチャー間のスパンに基づいてリファインメントを制御できるようになりました。&lt;br /&gt;
* blockMesh： 新しい構文により、角度と軸を使用した円弧の指定が可能になりました [ commit 73d253 ]。ブロック面の向きのチェックを改善 [ commit 471810 ]。&lt;br /&gt;
* 数値計算： 面中心の計算が修正され、歪んだセルでの収束が改善されました。magFaceAreas()関数による低レベルメッシュの変更をprimitiveMeshに追加しました[ commit 19d4f1 ]。&lt;br /&gt;
* 結合（巡回）パッチ： トランスフォームの合理化 [ commit 4f0e38 ] およびリファクタリング [ commit 03207b ] を行い、重複した不完全な実装を置き換えた [ commit 87bce8 ]。transformPosition 関数をリファクタリングし、コードの重複を減らし、関連するエラーを取り除きました [ commit 50d135 ]。回転変換の自動計算を改善し [ commit 7010a8 ]、あいまいな代入を削除 [ commit ba52c4 ]。&lt;br /&gt;
* メッシュモーション： メッシュのアンリファインメントによるフィールドのセルフマッピングを修正 [ commit 22bba4 ]。&lt;br /&gt;
* リージョン 平面に最も近い面を選択する topoSet の新しいソース planeToFaceZone [ commit 14e7db ]。&lt;br /&gt;
&lt;br /&gt;
== ファンクション・オブジェクト ==&lt;br /&gt;
&lt;br /&gt;
* 可視化： isoSurface処理でサーフェスの浸食を避けるための修正 [ commit 916d0a ] と、頂点除去のレベルを制御するisoSurfaceのフィルタリングオプション [ commit 916d0a ] を追加。&lt;br /&gt;
* フィールド： fieldAverage 関数オブジェクトのインターフェースの改善 [ commit c60cef ] と設定の簡素化 [ commit 0177c7 ]。新しい faceZoneAverage パッケージ化された関数オブジェクトはフェイスゾーン上のフィールドの平均を計算します [ commit 84a126 ]。 shearStress 関数オブジェクトは体積せん断応力を出力します [ commit c57ffd ]。コアとなるvolFieldValue関数オブジェクトにオプションの重みフィールドを追加しました。&lt;br /&gt;
* 滞留時間：滞留時間を測定する年齢関数オブジェクトは、fvOptions [ commit 73503b ]をサポートし、オプションで拡散と収束のコントロールがあります（Tobias Holzmannと） [ commit a2a74c ]。&lt;br /&gt;
* 設定： 時刻 &amp;quot;0 &amp;quot;のデータを提供するためにシミュレーション開始時に実行するオプション [ commit 2ebed5 ]。  マルチリージョンの場合のファンクションオブジェクトファイルの検索を改善しました[ commit 435b89 ]。  設定ファイルなしで（例えば後処理のために）関数オブジェクトを素早く実行するためのフィールドパラメーターの取り扱いが改善されました [ commit ad12d3 ]。&lt;br /&gt;
&lt;br /&gt;
== ケース構成 ==&lt;br /&gt;
&lt;br /&gt;
* データの可視化： ParaViewリーダーモジュールがサーフェスおよびポイントフィールド[ commit b7c064 ]とボリューム内部フィールド[ commit 67d3a8 ]を可視化できるようになりました; foamToVTKもボリューム内部フィールドをサポートするようになりました[ commit 53e845 ]。foamToVTK で、低レベル書き込み関数を合理化して 3x コードの重複を削除 [ commit 9ff1e2 ]。バイナリ VTK ファイル [ commit 622f47 ] とサンプルサーフェスファイル [ commit 84759e ] の書き込みをサポート。&lt;br /&gt;
* 大文字小文字の初期化： マクロ($)展開を使用して入力ファイルの異なる辞書レベルのデータにアクセスするための新しい &amp;quot;スラッシュ&amp;quot;(/)構文 [ commit a7b842 ] 入力ファイルへの絶対パスのサポートを含む [ commit b7c0cd ] チュートリアル、テンプレートケース、foamDictionaryへの更新 [ commit 26187d ]. aerofoilNACA0012チュートリアルの迎角設定による例示的なcodeStream例 [ commit 17f110 ]。&lt;br /&gt;
* ケース管理： patchSummary ユーティリティがフィールドに適用された境界条件に関する完全な情報を提供するようになりました [ commit 107b5d ]。foamDictionary において、インクルードされたファイルとマクロの展開がデフォルトで無効になりました [ commit c1edb0 ]。 foamCloneCase に並列分解ケースと追加ファイルのオプションが追加されました [ commit f06e13 ]。&lt;br /&gt;
* Function1:コード化されたFunction1により、時間変化するパラメータなどのFunction1をコードで設定できます [ commit 0dd2e9 ]。テーブルと定数関数を読み込むための3つの標準フォーマット [ commit 0d9786 ]. reverseRampは任意のFunction1のランプを1から0に反転できます [ commit 8756e8 ].&lt;br /&gt;
&lt;br /&gt;
== プログラミングと計算 ==&lt;br /&gt;
&lt;br /&gt;
* データ入力: readScalar(dict.lookup(&amp;quot;name&amp;quot;)) を dict.lookup&amp;lt;scalar&amp;gt;(&amp;quot;name&amp;quot;) に簡略化 [ commit 5eaf74 ]。辞書エントリの解析と処理に関する大規模なメンテナンスが行われ、コードがより堅牢で一貫性があり、拡張可能になりました [ コミット 4d8981 ]。複数行の引数リストを含む入力設定の構文を改善した [ commit 7dc08e ]。&lt;br /&gt;
* フィールドとディメンション： フィールドなどの一時的なオブジェクトをキャッシュし、データのさらなる処理と書き込みを可能にしました [ commit fdf121 ]特にフィールドデータ、例えばコード診断のためのモデルソース項や数値リミッターなど [ commit 30cceb ]。dimensionedConstants クラスを大幅に単純化しました [ commit 9513ad ]。&lt;br /&gt;
* アーキテクチャ： Arm ベースのプロセッサ用のコンパイルルールが追加されました [ commit ed9e42 ]。&lt;br /&gt;
* その他の数値計算： 関数オブジェクトによって解かれるフィールド（例えばスカラー輸送フィールド）を時間/反復ループの収束テストに含めることができるようになりました [ commit c6089a ]。&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v1912_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=836</id>
		<title>OpenFOAM v1912 リリースノート</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v1912_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=836"/>
		<updated>2023-09-09T12:42:25Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: /* Parallel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenCFDは、OpenFOAM® v1912の2019年12月リリースを発表いたします。このリリースは、コードの多くの領域にわたってOpenFOAM-v1906の機能を拡張しています。新機能は、OpenCFDのお客様がスポンサーとなった開発、内部資金による開発、OpenFOAMコミュニティからの機能や変更の統合を表しています。&lt;br /&gt;
&lt;br /&gt;
OpenFOAMは、OpenCFDによってGPLライセンスの下で配布されています：&lt;br /&gt;
&lt;br /&gt;
* Linuxシステム上でコンパイル可能なソースコード&lt;br /&gt;
* Linuxシステム用のコンパイル済みバイナリのインストール&lt;br /&gt;
* Mac OS Xシステム用のコンパイル済みバイナリのインストール&lt;br /&gt;
* MS Windows インストーラ&lt;br /&gt;
* Bash on Ubuntu on Windows (MS Windows 10用)&lt;br /&gt;
&lt;br /&gt;
コードを入手するには、ダウンロード手順を参照してください。&lt;br /&gt;
&lt;br /&gt;
開発用リポジトリは一般に公開されています。これらのメインリポジトリはバグフィックスや新機能で定期的に更新され、最近のメンテナンスでサイズが800MB以上からmasterブランチの200MB程度に大幅に縮小されました。&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
* ユーザー向けのヘルプは、ユーザーアップグレードガイドに記載されています。&lt;br /&gt;
* 開発者向けのヘルプは、開発者向けアップグレードガイドで提供されています。&lt;br /&gt;
* また、典型的なイディオムの理解を深めるために、コーディングパターンに関する文書も作成しました。私たちは喜んでコンテンツを取り込みます！&lt;br /&gt;
&lt;br /&gt;
== Pre-processing ==&lt;br /&gt;
&lt;br /&gt;
=== 新しい式の構文 ===&lt;br /&gt;
OpenFOAM-v1912は、swak4Foam（Bernhard Gschaider）によって開拓されたアイデアを使用した式を実装しています。これは、swak4Foam（Bernard Gschaider）によって開発されたアイデアを使用しています。この追加は、辞書構文、文字列評価、境界条件、セットフィールドなど、OpenFOAMのさまざまな部分に浸透しており、今後の発展が期待されます。&lt;br /&gt;
&lt;br /&gt;
例えば、式は、正規文字列展開に数学的評価を埋め込むことを可能にします：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;&amp;lt;system&amp;gt;/sampling${{ round(${flowRate:-5} * 100) }}&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;その中核となるのが、このエクスプレッション機能である：&lt;br /&gt;
&lt;br /&gt;
* SQLiteプロジェクトのLemon Parser Generator - &amp;lt;nowiki&amp;gt;https://www.sqlite.org/lemon.html&amp;lt;/nowiki&amp;gt; を参照。&lt;br /&gt;
* Ragelステートマシン・コンパイラ - &amp;lt;nowiki&amp;gt;http://www.colm.net/open-source/ragel/&amp;lt;/nowiki&amp;gt; を参照。&lt;br /&gt;
&lt;br /&gt;
'''Source code'''&lt;br /&gt;
&lt;br /&gt;
$FOAM_SRC/OpenFOAM/include/m4&lt;br /&gt;
&lt;br /&gt;
$FOAM_SRC/src/OpenFOAM/expressions&lt;br /&gt;
&lt;br /&gt;
$FOAM_SRC/src/finiteVolume/expressions&lt;br /&gt;
&lt;br /&gt;
=== 辞書のインライン表現 ===&lt;br /&gt;
辞書入力に関する大きな変更点は、式の追加に関連する新しい#evalディレクティブである。多くの場合、#evalは#calcを直接置き換えることができ、速度を大幅に向上させることができる。比較として、以下の10回の評価では、#calcでは16秒かかったのに対し、#evalでは0.02秒しかかからなかった。&lt;br /&gt;
&lt;br /&gt;
この機能は辞書の見方を変えるだろう。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kgh     700;&lt;br /&gt;
split   0.4;&lt;br /&gt;
inlet1&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
   type            flowRateInletVelocity;&lt;br /&gt;
   massFlowRate    constant #eval{ $split * $kgh / 3600 };&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
inlet2&lt;br /&gt;
{&lt;br /&gt;
   type            flowRateInletVelocity;&lt;br /&gt;
   massFlowRate    constant #eval{ (1-$split) * $kgh / 3600 };&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;さらなる例は、v1912ユーザーアップグレードガイドに記載されています。&lt;br /&gt;
&lt;br /&gt;
'''Source code'''&lt;br /&gt;
&lt;br /&gt;
$FOAM_SRC/OpenFOAM/db/dictionary/functionEntries/evalEntry&lt;br /&gt;
&lt;br /&gt;
'''Tutorial'''&lt;br /&gt;
&lt;br /&gt;
これまで#calcを使用していたチュートリアルはすべて#evalを使用するようになりました。&lt;br /&gt;
&lt;br /&gt;
=== 新しい式ベースの setFields ユーティリティ ===&lt;br /&gt;
この式は、setExprFieldsとsetExprBoundaryFieldsという新しいユーティリティをサポートしており、似たような名前のswak4Foamのファンキーなユーティリティと同じような役割を果たします。&lt;br /&gt;
&lt;br /&gt;
setExprFieldsは、フィールドの設定に図形と選択を使う代わりに、条件と式の組み合わせを使う。条件が有効な場合にのみ、式の結果が適用される。例えば、以下のようにすると、定義されたゾーン内の温度が調整される：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
expressions&lt;br /&gt;
&lt;br /&gt;
(&lt;br /&gt;
&lt;br /&gt;
   T&lt;br /&gt;
   {&lt;br /&gt;
       field       T;&lt;br /&gt;
       dimensions  [0 0 0 1 0 0 0];&lt;br /&gt;
       constants&lt;br /&gt;
       {&lt;br /&gt;
           centre (0.21 0 0.01);&lt;br /&gt;
       }&lt;br /&gt;
       variables&lt;br /&gt;
       (&lt;br /&gt;
           &amp;quot;radius = 0.1&amp;quot;&lt;br /&gt;
       );&lt;br /&gt;
       condition&lt;br /&gt;
       #{&lt;br /&gt;
           // Within the radius&lt;br /&gt;
           (mag(pos() - $[(vector)constants.centre]) &amp;lt; radius)&lt;br /&gt;
           // but only +ve y!&lt;br /&gt;
         &amp;amp;&amp;amp; bool(pos((pos() - $[(vector)constants.centre]).y()))&lt;br /&gt;
       #};&lt;br /&gt;
       expression&lt;br /&gt;
       #{&lt;br /&gt;
           300&lt;br /&gt;
         + 200 * (1 - mag(pos() - $[(vector)constants.centre]) / radius)&lt;br /&gt;
       #};&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;setExprBoundaryFieldsユーティリティは、バウンダリ・フィールド・エントリをカスタムで変更するための同様の目的を果たす。&lt;br /&gt;
&lt;br /&gt;
'''Tutorials'''&lt;br /&gt;
&lt;br /&gt;
$FOAM_TUTORIALS/compressible/rhoPimpleFoam/RAS/TJunctionAverage&lt;br /&gt;
&lt;br /&gt;
=== '''PDRFoam用の新しいセットフィールド・ユーティリティ''' ===&lt;br /&gt;
新しいPDRsetFieldsユーティリティはPDRFoamソルバーで使用する閉塞のテンソル抵抗を計算します。ジオメトリはPDRsetFieldsDictファイルを使ってプリミティブ形状の形で入力されます：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// Data dictionary for PDRsetFields&lt;br /&gt;
&lt;br /&gt;
// Replace by the relevant names&lt;br /&gt;
&lt;br /&gt;
obsFileDir      &amp;quot;&amp;lt;case&amp;gt;/geometry&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
obsFileNames    (obstaclesDict);&lt;br /&gt;
&lt;br /&gt;
// legacyObsSpec   true;&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// obsFileNames    (position.obs base.obs);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;障害物は、obsFileNamesエントリーの下にリストされた個別のファイルで提供される。以下のような様々なタイプの障害物がサポートされている：&lt;br /&gt;
&lt;br /&gt;
* cylinder&lt;br /&gt;
* diagonal beam&lt;br /&gt;
* cuboid&lt;br /&gt;
* grating&lt;br /&gt;
* louvre&lt;br /&gt;
* patch&lt;br /&gt;
&lt;br /&gt;
以下に障害物の例を示す：&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_UTILITIES//utilities/preProcessing/PDRsetFields&lt;br /&gt;
; Tutorial&lt;br /&gt;
: $FOAM_UTILITIES/combustion/PDRFoam/pipeLattice&lt;br /&gt;
&lt;br /&gt;
=== checkMeshから出力される壁の距離 ===&lt;br /&gt;
checkMesh ユーティリティのオプション -writeAllFields が拡張され、壁距離をフィールド wallDistance として書き込むようになりました。これは、system/fvSchemes辞書で壁距離法が選択されていることを必要とします：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wallDist&lt;br /&gt;
{&lt;br /&gt;
   method meshWave;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;wallDistanceは壁パッチのSMALL(1e-15)に設定され、paraFoamなどで後処理することができます：&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_UTILITIES/mesh/manipulation/checkMesh&lt;br /&gt;
&lt;br /&gt;
== snappyHexMesh : 細いギャップを自動的に閉じる ==&lt;br /&gt;
複雑な形状のメッシュを作成する際、ユーザがメッシュを必要としない薄いギャップがあるかもしれません。このリリースではsnappyHexMeshは面毎、面領域毎にメッシュするギャップの最小サイズを指定するblockLevelを指定することができます。この指定されたサイズより小さいギャップ内のセルは削除されます（その結果、ギャップ内のセルはなくなります）。&lt;br /&gt;
&lt;br /&gt;
この拡張機能は以下の構文で有効になる：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
refinementSurfaces&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;gap.*&amp;quot;&lt;br /&gt;
   {&lt;br /&gt;
       // Surface-wise min and max refinement level&lt;br /&gt;
       level       (2 2);&lt;br /&gt;
&lt;br /&gt;
       // From cell level 2 onwards start checking&lt;br /&gt;
       // for opposite surfaces&lt;br /&gt;
       blockLevel  2;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;blockLevel 設定は以下を決定する。&lt;br /&gt;
&lt;br /&gt;
* ギャップ検知にサーフェスが全く使用されていないかどうか。&lt;br /&gt;
* 理想的なギャップの大きさ：2 * cellize; ここで、cellize は初期セルサイズから blockLevel を何倍かにリファインして決定される。&lt;br /&gt;
&lt;br /&gt;
全てのサーフェス精密化snappyHexMeshの後、シェル/ボリュームの精密化の前に、全てのセルについて最も近い2つのサーフェスを決定します。もしセルが&lt;br /&gt;
&lt;br /&gt;
* 2つの面の間、または同じ面の切り離された領域&lt;br /&gt;
* であり、対向点間の距離はギャップサイズより小さい。&lt;br /&gt;
&lt;br /&gt;
の場合、セルは削除される。&lt;br /&gt;
&lt;br /&gt;
チュートリアルのopposite_wallsは、薄いギャップを形成する2つの表面を持つ単純なブロックです。&lt;br /&gt;
&lt;br /&gt;
; Tutorial&lt;br /&gt;
: $FOAM_TUTORIALS/mesh/snappyHexMesh/opposite˙walls&lt;br /&gt;
&lt;br /&gt;
== 数値 ==&lt;br /&gt;
&lt;br /&gt;
=== 新しい随伴形状最適化 ===&lt;br /&gt;
アジョイント・ライブラリは、自動化された形状最適化ループを可能にする新機能で強化されている。&lt;br /&gt;
&lt;br /&gt;
これは、OpenFOAMのガバナンス・フレームワークの下、OpenFOAM-v1906でリリースされたアジョイント最適化ツールの続編です。&lt;br /&gt;
&lt;br /&gt;
体積Bスプラインに基づくパラメータ化スキームが導入され、その制御点は最適化ループにおける設計変数として機能する（下記参照）。ボリューメトリックBスプラインボックスの制御点は、直交座標または円筒座標で定義できます。&lt;br /&gt;
&lt;br /&gt;
ループ全体（流体方程式とアジョイント方程式の解法，感度導関数の計算，設計変数とメッシュの更新）は，adjointOptimisationFoam ソルバー内で実行されます．設計変数を更新するために，BFGS のような一般的な準ニュートン法や，SQP や拘束射影のような拘束を扱える方法など，多くの方法が実装されています．&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SOLVERS/incompressible/adjointOptimisationFoam $FOAM_SRC/optimisation/adjointOptimisation/adjoint&lt;br /&gt;
; Examples&lt;br /&gt;
: $FOAM_TUTORIALS/incompressible/adjointOptimisationFoam&lt;br /&gt;
; Attribution&lt;br /&gt;
: このソフトウェアはPCOpt/NTUAとFOSS GPによって開発され、以下の人々からの貢献があった。&lt;br /&gt;
:* Dr Evangelos Papoutsis-Kiachagias,&lt;br /&gt;
:* Konstantinos Gkaragounis,&lt;br /&gt;
:* Professor Kyriakos Giannakoglou,&lt;br /&gt;
:* Dr Andrew Heather&lt;br /&gt;
; References&lt;br /&gt;
:* E.M. Papoutsis-Kiachagias, N. Magoulas, J. Mueller, C. Othmer, K.C. Giannakoglou: ’Noise Reduction in Car Aerodynamics using a Surrogate Objective Function and the Continuous Adjoint Method with Wall Functions’, Computers &amp;amp; Fluids, 122:223-232, 2015&lt;br /&gt;
:* E. M. Papoutsis-Kiachagias, V. G. Asouti, K. C. Giannakoglou, K. Gkagkas, S. Shimokawa, E. Itakura: Multi-point aerodynamic shape optimization of cars based on continuous adjoint, Structural and Multidisciplinary Optimization, 59(2):675694, 2019&lt;br /&gt;
; Integration&lt;br /&gt;
: コードはOpenCFDとNTUAが共同で統合した。&lt;br /&gt;
&lt;br /&gt;
=== 新しい重み付き磁束補間スキーム ===&lt;br /&gt;
新しいweightedFlux補間スキームは、重み付けされたフラックスを用いる線形スキームである。&lt;br /&gt;
&lt;br /&gt;
次のような一般的なフラックスの場合：&lt;br /&gt;
&lt;br /&gt;
の面値を必要とするガウスの定理を用いて勾配を計算する。 これは次のように計算される：&lt;br /&gt;
&lt;br /&gt;
どこ:&lt;br /&gt;
&lt;br /&gt;
* φi is the cell value&lt;br /&gt;
* φfis the face value&lt;br /&gt;
*&lt;br /&gt;
* σi is the diffusivity coefficient&lt;br /&gt;
&lt;br /&gt;
不連続の場合、線形補間は正しくないフラックスを生成する。weightedFlux補間スキームは、Tの調和補間と組み合わせて以下のように使用される。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
laplacianSchemes&lt;br /&gt;
{&lt;br /&gt;
   laplacian(DT,T) Gauss harmonic corrected;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
gradSchemes&lt;br /&gt;
{&lt;br /&gt;
   grad(T)     Gauss weightedFlux sigma;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;上記の例では、以下のように滑らかな温度と熱流束のプロファイルが得られる：&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/finiteVolume/interpolation/surfaceInterpolation/schemes/weightedFlux&lt;br /&gt;
; Tutorial&lt;br /&gt;
: $FOAM_TUTORIALS/verificationAndValidation/schemes/weigthedFluxExample&lt;br /&gt;
; Attribution&lt;br /&gt;
: このスキームはノルベルト・ウェーバーの寄稿によるものである。&lt;br /&gt;
; References&lt;br /&gt;
:* Weber, N.; Beckstein, P.; Galindo, V.; Starace, M.; Weier, T.: Electro-vortex flow simulation using coupled meshes, Computers and Fluids 168(2018) 101-109&lt;br /&gt;
:* For more details see the Issue tracker&lt;br /&gt;
&lt;br /&gt;
=== 混合精度モードでのジオメトリ処理の改善 ===&lt;br /&gt;
OpenFOAM-v1906で導入された混合精度モード(SPDP)により、倍精度で実行する場合に比べ、大幅なスピードアップとメモリ要件の削減が可能になります。&lt;br /&gt;
&lt;br /&gt;
混合精度モードでは、線形ソルバーだけが倍精度で動作する。他の機能はすべて単精度で実行されます。これにより、例えばcheckMeshを使用した場合、完全に有効なクローズドセルがオープンセルとして表示される可能性があります。単精度(SP)で実行すると、以下のようなレポートが表示されます：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
***Boundary openness (3.77976e-07 3.97566e-06 -2.26237e-08) possible hole in boundary description.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;このバージョンでは、倍精度計算が次のように拡張されています。&lt;br /&gt;
&lt;br /&gt;
* 面の中心と面積、セルの中心と体積の計算。実際の結果はまだ単精度で保存されていることに注意してください。&lt;br /&gt;
* ほとんどのcheckMeshの合計、例えばオープンセルの上。&lt;br /&gt;
* すべてのフィールドベースの合計（sum）。&lt;br /&gt;
&lt;br /&gt;
これらの変更はSPDPモードにのみ影響することに注意。前の例では、次のように報告されている：&lt;br /&gt;
&lt;br /&gt;
境界の開き (-6.31099e-11 -3.99859e-11 -3.747e-10) OK.&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellCentresAndVols.C $FOAM_SRC/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshFaceCentresAndAreas.C&lt;br /&gt;
&lt;br /&gt;
== ソルバーと物理モデル ==&lt;br /&gt;
&lt;br /&gt;
=== 新しいインターフェイス追跡ダイナミック・メッシュ ===&lt;br /&gt;
このリリースには、foam-extendプロジェクトのムービングメッシュインターフェーストラッキングライブラリが統合されています。OpenFOAM v1912への移植は、Zeljko Tukovic (FMENA, Zagreb)がOpenCFD Ltd.と共同で行いました。&lt;br /&gt;
&lt;br /&gt;
基本的な機能は、interfaceTrackingFvMeshクラスによって実装されています。自由表面における運動学的および動的条件は、速度と圧力のカスタム境界条件によって課されます。界面追跡計算は、標準的なpimpleFoamソルバーを使用して実行されます。&lt;br /&gt;
&lt;br /&gt;
下の例は、汚染され、擾乱を受けた液滴の濃度と形状の変化を示している。&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/dynamicFaMesh/interfaceTrackingFvMesh&lt;br /&gt;
; Tutorial&lt;br /&gt;
: $FOAM_TUTORIALS/incompressible/pimpleFoam/laminar/contactAngleCavity $FOAM_TUTORIALS/incompressible/pimpleFoam/laminar/contaminatedDroplet2D&lt;br /&gt;
; References&lt;br /&gt;
: Z. Tukovic and H. Jasak. A moving mesh finite volume interface tracking method for surface tension dominated interfacial fluid flow. Computers &amp;amp; fluids. 55 (2012) 70-84.&lt;br /&gt;
; Attribution&lt;br /&gt;
: Code written and contributed by Zeljko Tukovic&lt;br /&gt;
&lt;br /&gt;
=== 新しい6自由度（DoF）機能 ===&lt;br /&gt;
&lt;br /&gt;
===== 新しいlinearSpringDamper拘束モデル =====&lt;br /&gt;
6自由度ライブラリには、新しいlinearSpringDamperモデルが含まれています。&lt;br /&gt;
&lt;br /&gt;
これはスプリングダンパーシステムで、アンカーとrefAttachmentPt間の距離がrestLengthを超えたときに「ソフトな」ロープ拘束として機能する。&lt;br /&gt;
&lt;br /&gt;
ロープがたるんでいるときは、体に力はかからない。dynamicMeshDictでの指定は以下の通り：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
restraints&lt;br /&gt;
{&lt;br /&gt;
   chain&lt;br /&gt;
   {&lt;br /&gt;
       sixDoFRigidBodyMotionRestraint  linearSpringDamper;&lt;br /&gt;
       refAttachmentPt     (3.7 4.2 4.5);&lt;br /&gt;
       anchor              table&lt;br /&gt;
       (&lt;br /&gt;
           (0         (3.7 4.2 6.5))&lt;br /&gt;
           (2         (4.7 4.2 6.5))&lt;br /&gt;
           (6         (5.7 4.2 4.5))&lt;br /&gt;
           (8         (6.7 4.2 4.5))&lt;br /&gt;
       );&lt;br /&gt;
       psi                 1;&lt;br /&gt;
       wn                  8.28;&lt;br /&gt;
       numberOfChains      4;&lt;br /&gt;
       restLength          2;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;どこだ？&lt;br /&gt;
&lt;br /&gt;
* refAttachmentPtはソリッドオブジェクトへのアタッチメントポイントです。&lt;br /&gt;
* anchorはロープのアンカーで、Function1の時間依存の項目として指定される。&lt;br /&gt;
* psiは減衰比。&lt;br /&gt;
* wnは、システムの減衰していない固有振動数である。&lt;br /&gt;
* numberOfChainsは、ボディに取り付けられているチェーンの数。&lt;br /&gt;
* restLength はロープの残りの長さ。&lt;br /&gt;
&lt;br /&gt;
システムの減衰と剛性は次のように計算される：&lt;br /&gt;
&lt;br /&gt;
注：psiとwnは、柔らかいロープの挙動をモデル化するために、過減衰系に対して設定されるべきである。&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearSpringDamper&lt;br /&gt;
&lt;br /&gt;
===== 新しいソフト・ウォール・サスペンション =====&lt;br /&gt;
新しいソフトウォールモデルは、壁法線方向のアンカーとrefAttachmentPt間の距離が負になったときに「ソフト」な壁として機能するダンパー-線形-バネ拘束です。&lt;br /&gt;
&lt;br /&gt;
ロープがたるんでいるときは、体に力はかからない。dynamicMeshDictでの指定は以下の通り：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
restraints&lt;br /&gt;
{&lt;br /&gt;
   upperWall&lt;br /&gt;
   {&lt;br /&gt;
       type                    softWall;&lt;br /&gt;
       body                    floatingObject;&lt;br /&gt;
       anchor                  (0.5 0.5 0.7);&lt;br /&gt;
       refAttachmentPt         (0.5 0.5 0.58);&lt;br /&gt;
       wallNormal              (0 0 -1);&lt;br /&gt;
       psi                     2.0;&lt;br /&gt;
       C                       0.01;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;どこ:&lt;br /&gt;
&lt;br /&gt;
* refAttachmentPtは、ソリッドオブジェクトへのアタッチメントポイントです。&lt;br /&gt;
* アンカーはロープの錨である。&lt;br /&gt;
* psiは減衰比&lt;br /&gt;
* wallNormal は壁の法線方向&lt;br /&gt;
* Cはモデル定数&lt;br /&gt;
&lt;br /&gt;
システムの減衰と剛性は次のように計算される：&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/rigidBodyDynamics/restraints/softWall&lt;br /&gt;
&lt;br /&gt;
===== オーバーセットされたダイナミックメッシュのための新しいマルチモーション機能 =====&lt;br /&gt;
オーバーセット・ダイナミック・メッシュが複数のモーション・タイプを扱えるようになりました。これにより、ユーザーは異なるモーション・ソルバーのアクションで異なるオブジェクトを動かすことができます。&lt;br /&gt;
&lt;br /&gt;
一例を挙げよう：&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/multiphase/overInterDyMFoam/floatingBodyWithSpring&lt;br /&gt;
&lt;br /&gt;
dynamicMeshDict辞書の中で、dynamicOversetFvMeshは2つのモーション・ソルバーを持っています：&lt;br /&gt;
&lt;br /&gt;
* 新しいdrivenLinearMotionを使ったsolidBody（下記参照）&lt;br /&gt;
* sixDoFRigidBodyMotion&lt;br /&gt;
&lt;br /&gt;
チュートリアルでは、2つのモーション・ソルバーが異なるセルセットに適用される。&lt;br /&gt;
&lt;br /&gt;
cubeという名前のソルバーは、モーション・ソルバーsixDoFRigidBodyMotionを使用するfloatingObjectです。新しいキーワードCofGvelocityは、drivenLinearMotionソルバーで使用するオブジェクトの重心速度を書き込む。&lt;br /&gt;
&lt;br /&gt;
新しいdrivenLinearMotionモーションソルバは剛体タイプで、エントリーCofGvelocityに従って点を移動します。このチュートリアルでは、オーバーセット計算の背景メッシュに対応するc0セルセットに適用します。&lt;br /&gt;
&lt;br /&gt;
drivenLinearMotionは、オーバーセット計算の &amp;quot;inset &amp;quot;領域で、与えられたオブジェクトに &amp;quot;追従する &amp;quot;背景メッシュを設定することができます。これは、オブジェクトの予想される変位が大きい場合にメッシュサイズを小さくするのに役立ちます。&lt;br /&gt;
&lt;br /&gt;
; Tutorial&lt;br /&gt;
: $FOAM_TUTORIALS/multiphase/overInterDyMFoam/floatingBodyWithSpring&lt;br /&gt;
&lt;br /&gt;
=== 新しい平行放射モデル ===&lt;br /&gt;
&lt;br /&gt;
===== fvDOM用の新しい平行太陽ビームモデル =====&lt;br /&gt;
fvDOM放射モデルに、太陽外部負荷からの外部ビームのサポートが追加されました。この効果はfvDOMモデルの光線に追加され、radiationProperties辞書の新しい項目useExternalBeamをtrueに設定することで有効になります。&lt;br /&gt;
&lt;br /&gt;
fvDOMの光線立体角は、角度離散化に従って最適な光線方向と一致するように回転される。&lt;br /&gt;
&lt;br /&gt;
線源のエネルギー・スペクトルを得るには、以下のエントリーを使用する：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
spectralDistribution (2 1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;注：spectralDistributionのバンド数は、吸収率モデルのバンド数と一致する必要があります。つまり、boundaryRadiationPropertiesのmultiBandAbsorptionです：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
type       opaqueDiffusive;&lt;br /&gt;
wallAbsorptionEmissionModel&lt;br /&gt;
{&lt;br /&gt;
   type            multiBandAbsorption;&lt;br /&gt;
   absorptivity    (0.3 0.7);&lt;br /&gt;
   emissivity      (0.3 0.7);&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;輻射境界条件の例では、不透明な拡散壁と、2つのバンドを用いたマルチバンド吸収モデルを指定しています。&lt;br /&gt;
&lt;br /&gt;
コリメートモデルは、solarLoad放射モデルと併用しないでください。&lt;br /&gt;
&lt;br /&gt;
コリメートモデルは、太陽計算機を使用して太陽の方向とエネルギー束を導きます。標準モデルは、solarLoad放射モデルと同様に使用できます。&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/thermophysicalModels/radiation/radiationModels/fvDOM&lt;br /&gt;
&lt;br /&gt;
===== 新しいマルチバンドゾーン吸収発光モデル =====&lt;br /&gt;
新しいmultiBandZoneAbsorptionEmissionモデルは、領域内の不均一な吸収率および放射率フィールドの使用を可能にします。例えば、2つのバンドモデルの場合：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
multiBandZoneAbsorptionEmissionCoeffs&lt;br /&gt;
{&lt;br /&gt;
   absorptivity  (0.01 0.01);&lt;br /&gt;
   emissivity    (0.01 0.01);&lt;br /&gt;
   zones&lt;br /&gt;
   {&lt;br /&gt;
       absorptivity  (&amp;quot;trees&amp;quot; (20 20));&lt;br /&gt;
       emissivity    (&amp;quot;trees&amp;quot; (20 20));&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;この例では、背景メッシュに(0.01 0.01)、樹木というゾーンに(20 20)の吸収率を設定している。&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/thermophysicalModels/radiation/submodels/absorptionEmissionModel/absorptionEmissionModel/multiBandZoneAbsorptionEmission&lt;br /&gt;
; Tutorial&lt;br /&gt;
: $FOAM_TUTORIALS/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees&lt;br /&gt;
&lt;br /&gt;
=== 新しい多相乱流安定化 ===&lt;br /&gt;
乱流の運動エネルギーは、非圧縮VOFソルバーにおいて、表面波下のほぼポテンシャル流領域において、位相界面および水柱全体で過剰に予測される。&lt;br /&gt;
&lt;br /&gt;
この挙動は、乱流運動エネルギー方程式と乱流粘性場に補正を適用する新しいmultiphaseStabilizedTurbulence fvOptionを使用して補正されます。&lt;br /&gt;
&lt;br /&gt;
を使って指定する：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
multiphaseStabilizedTurbulence1&lt;br /&gt;
{&lt;br /&gt;
   type            multiphaseStabilizedTurbulence;&lt;br /&gt;
   active          yes;&lt;br /&gt;
   multiphaseStabilizedTurbulenceCoeffs&lt;br /&gt;
&lt;br /&gt;
   {&lt;br /&gt;
       // Optional coefficients&lt;br /&gt;
       lambda2         0.1;   // A value of 0 sets the nut correction to 0&lt;br /&gt;
       Cmu             0.09;  // from k-epsilon model&lt;br /&gt;
       C               1.51;  // model coefficient from k-omega model&lt;br /&gt;
       alpha           1.36;  // 1/Prt&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/fvOptions/sources/derived/multiphaseStabilizedTurbulence&lt;br /&gt;
; References&lt;br /&gt;
:* Devolder, B., Rauwoens, P., and Troch, P. (2017). Application of a buoyancy-modified k-w SST turbulence model to simulate wave run-up around a monopile subjected to regular waves using OpenFOAM. Coastal Engineering, 125, 81-94.&lt;br /&gt;
:* Larsen, B.E. and Fuhrman, D.R. (2018). On the over-production of turbulence beneath surface waves in Reynolds-averaged Navier-Stokes models J. Fluid Mech, 853, 419-460&lt;br /&gt;
; Attribution&lt;br /&gt;
:* OpenCFDによる実装&lt;br /&gt;
:* Turbulence Technical Committee、およびBjarke Eltard-LarsenとDavid Fuhrman（デンマーク工科大学）による有益な議論とコードテストに感謝する。&lt;br /&gt;
&lt;br /&gt;
=== 新しいk-epsilon-phit-f乱流モデル ===&lt;br /&gt;
Laurenceら, 2005）の研究に基づき、kEpsilonPhitFと名付けられた楕円緩和関数を用いた新しい3輸送方程式線形渦粘性RANS乱流クロージャーモデルが実装されました。&lt;br /&gt;
&lt;br /&gt;
kEpsilonPhitFは、(Durbin, 1995)のv2-f手法に由来するkEpsilonベースのモデルである。v2-f手法の主な利点は、渦粘性モデルの最小限の定式化を維持しながら、線形渦粘性モデルとレイノルズ応力方程式モデルの中間を提供することであると報告されています。このことは、壁面距離や低レイノルズ数型の修正を行うことなく、壁面に向かって壁面法線速度スケールが放物線状に減衰することをシミュレーションに依存せずに再現できることに現れています。&lt;br /&gt;
&lt;br /&gt;
しかし、v2-fモデルの大半は、特に壁境界において、v2場とf場の連成の定式化により、分離解法アルゴリズムでは数値的に厳しいことが判明した。&lt;br /&gt;
&lt;br /&gt;
この欠点にもかかわらず、v2-fモデルは、さまざまな非平衡／非局所効果を示す流れ、強い圧力勾配、分離、衝突を伴う流れ、熱伝達を含む乱流場への変動圧力の影響など、幅広い一般的な流れの特性をうまく再現することが確認されている。&lt;br /&gt;
&lt;br /&gt;
LienとKalitzin, 2001）によるv2-fモデル（すなわちOpenFOAMのv2fモデル）は、分離計算を可能にするためにオリジナルのv2-fモデルを再定義したものであるが、モデルの忠実度に関する多くの欠点が文献に報告されている。&lt;br /&gt;
&lt;br /&gt;
v2-f手法の欠点を克服するために、v2-f手法は(Hanjali et al., 2004)と(Laurence et al., 2005)によって再評価され、同時に、スケールを等価な無次元形式に変換することによって、すなわち数値的な剛性を低減することによって再評価された。これらの変種は、オリジナルのv2-fモデルの理論的なモデルの忠実性を保持しながら、数値的なロバスト性と格子異常に対する鈍感性を提供すると考えられた。&lt;br /&gt;
&lt;br /&gt;
kEpsilonPhitFモデルはベータ段階であることにご注意ください。今後、モデルの内部的な変更が行われる可能性もありますし、行われない可能性もあります。さらに、OpenFOAMで利用可能なv2fモデルは、kEpsilonPhitFまたは他のv2-fモデルのバリエーションに取って代わられる予定です。&lt;br /&gt;
&lt;br /&gt;
kEpsilonPhitFモデルの実装は，平滑壁平面流路流（），ゼロ圧力勾配乱流平板，2次元後向きステップ，流路内2次元丘の正準流によって検証された．&lt;br /&gt;
&lt;br /&gt;
例として、3つの検証プロットを以下に示す：&lt;br /&gt;
&lt;br /&gt;
モデル方程式、実装、使用法に関するより詳細な情報は、（拡張コードガイドのkEpsilonPhitFセクション）にあります。&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF&lt;br /&gt;
; Tutorial&lt;br /&gt;
: $FOAM_TUTORIALS/incompressible/simpleFoam/RAS/bump2D&lt;br /&gt;
; Attribution&lt;br /&gt;
: OpenCFD は、有益な議論と有益な示唆を与えてくれた Mirza Popovac 博士 (オーストリア工科大学) に感謝したい。&lt;br /&gt;
&lt;br /&gt;
=== 雪崩モデリング・モジュールの更新 ===&lt;br /&gt;
冬が近づくにつれ、雪崩モデリング・モジュールでは、RAMMSモデル（Christen et al, 2010）の実装やMedinaモデルの安定性の改善など、巻き込みモデルの更新が行われた。&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: &amp;lt;nowiki&amp;gt;https://develop.openfoam.com/Development/openfoammodules/avalanche&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
; Attribution&lt;br /&gt;
: The avalanche code is developed by Matti Rauter&lt;br /&gt;
&lt;br /&gt;
=== 液体の新しい状態方程式 ===&lt;br /&gt;
液体と固体のための逆多項式状態方程式rPolynomialはopenfoam.orgから統合され、以下の形式を持つ：&lt;br /&gt;
&lt;br /&gt;
新しいオプションは、thermophysicalProperties辞書で次のように指定される：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
thermoType&lt;br /&gt;
{&lt;br /&gt;
   type            heRhoThermo;&lt;br /&gt;
   mixture         pureMixture;&lt;br /&gt;
   transport       const;&lt;br /&gt;
   thermo          hConst;&lt;br /&gt;
   equationOfState rPolynomial; // new entry&lt;br /&gt;
   specie          specie;&lt;br /&gt;
   energy          sensibleInternalEnergy;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mixture&lt;br /&gt;
{&lt;br /&gt;
   specie&lt;br /&gt;
   {&lt;br /&gt;
       molWeight   18.0;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   equationOfState&lt;br /&gt;
   {&lt;br /&gt;
       // Coefficients for the reciprocal polynomial equation of state&lt;br /&gt;
       C (0.001278 -2.1055e-06 3.9689e-09 4.3772e-13 -2.0225e-16);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   thermodynamics&lt;br /&gt;
   {&lt;br /&gt;
       Cp          4195;&lt;br /&gt;
       Hf          0;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   transport&lt;br /&gt;
   {&lt;br /&gt;
       mu          3.645e-4;&lt;br /&gt;
       Pr          2.289;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/src/thermophysicalModels/specie/equationOfState/rPolynomial&lt;br /&gt;
; Tutorial&lt;br /&gt;
: $FOAM_TUTORIALS/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/thermophysicalProperties.water&lt;br /&gt;
; Attribution&lt;br /&gt;
: モデルはopenfoam.orgから統合された。&lt;br /&gt;
&lt;br /&gt;
== 境界条件 ==&lt;br /&gt;
&lt;br /&gt;
=== ニューウェーブ・モデル ===&lt;br /&gt;
このリリースでは、OpenFOAM v1812で導入されたwaveMaker条件を拡張し、パドルの数を選択して3次元波を生成します。3次元フラップ波生成の例を以下に示します。&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/waveModels/derivedPointPatchFields/waveMaker&lt;br /&gt;
; Examples&lt;br /&gt;
: $FOAM_TUTORIALS/multiphase/interFoam/laminar/waves/waveMakerMultiPaddleFlap $FOAM_TUTORIALS/multiphase/interFoam/laminar/waves/waveMakerMultiPaddlePiston&lt;br /&gt;
; Attribution&lt;br /&gt;
: これらの拡張機能はEnvironmental Hydraulics Institute IHCantabriaから提供されたもので、コミットd0c5662172を参照： ガブリエル・バラハス&lt;br /&gt;
; Integration&lt;br /&gt;
: このコードは OpenCFD によって統合されました - マージリクエスト 317 を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== 新しい式に基づく境界条件 ===&lt;br /&gt;
式が境界条件を満たす場所： exprFixedValue境界条件とexprMixed境界条件。&lt;br /&gt;
&lt;br /&gt;
これらの境界条件は、値、勾配、分数を式としてサポートする。例えば&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
outlet1&lt;br /&gt;
{&lt;br /&gt;
   type            exprFixedValue;&lt;br /&gt;
   value           $internalField;&lt;br /&gt;
   valueExpr       &amp;quot;0.5*(pInlet + pOutlet2)&amp;quot;;&lt;br /&gt;
   variables&lt;br /&gt;
   (&lt;br /&gt;
       &amp;quot;pInletinlet = weightAverage(p)&amp;quot;&lt;br /&gt;
       &amp;quot;pOutlet2outlet2 = p&amp;quot;&lt;br /&gt;
   );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Tutorials&lt;br /&gt;
: $FOAM_TUTORIALS/compressible/rhoPimpleFoam/RAS/TJunctionAverage&lt;br /&gt;
&lt;br /&gt;
=== 新しいスケール境界条件ラッパー ===&lt;br /&gt;
これは、任意の（固定値）境界条件に、時間または空間で変化するスケーリングを追加するためのラッパーです。uniformFixedValueのすべての機能が追加されています。下の例では、patch エントリを使用して指定された標準的な fixedValue 境界条件を変更し、scale エントリに従ってスケールを適用します。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;patchName&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   type            scaledFixedValue;&lt;br /&gt;
   scale table&lt;br /&gt;
   (&lt;br /&gt;
       (    0   0)&lt;br /&gt;
       (  1.0 1.0)&lt;br /&gt;
       (100.0 1.0)&lt;br /&gt;
   );&lt;br /&gt;
&lt;br /&gt;
   patch&lt;br /&gt;
   {&lt;br /&gt;
       type            fixedValue;&lt;br /&gt;
       value           uniform (15 0 0);&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;スケールの項目はPatchFunction1であり、以下のような複数のオプションがある：&lt;br /&gt;
&lt;br /&gt;
* constant&lt;br /&gt;
* csvFile&lt;br /&gt;
* mappedFile&lt;br /&gt;
* polynomial&lt;br /&gt;
* sampled&lt;br /&gt;
* scale&lt;br /&gt;
* sine&lt;br /&gt;
* square&lt;br /&gt;
* table&lt;br /&gt;
* tableFile&lt;br /&gt;
* uniformValue&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/scaledFixedValue&lt;br /&gt;
&lt;br /&gt;
== 後処理 ==&lt;br /&gt;
&lt;br /&gt;
=== パーティクルの後処理の改善 ===&lt;br /&gt;
&lt;br /&gt;
===== クラウドパッチ相互作用モデル =====&lt;br /&gt;
オプションでwriteToFileエントリーを使用して、パッチ相互作用の統計情報、例えば、くっついたり、逃げたりした粒子の数と質量をファイルに書き込みます。例として、localInteraction粒子パッチ相互作用モデルを使用する場合、新しいエントリーを次のように追加することができます：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
localInteractionCoeffs&lt;br /&gt;
{&lt;br /&gt;
   patches&lt;br /&gt;
&lt;br /&gt;
   (&lt;br /&gt;
       &amp;quot;(walls|cyc.*)&amp;quot;&lt;br /&gt;
       {&lt;br /&gt;
           type        rebound;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
       &amp;quot;inlet|outlet&amp;quot;&lt;br /&gt;
       {&lt;br /&gt;
           type escape;&lt;br /&gt;
       }&lt;br /&gt;
   );&lt;br /&gt;
&lt;br /&gt;
   // New optional entry&lt;br /&gt;
   writeToFile     yes;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== クラウド機能オブジェクト =====&lt;br /&gt;
空の場合、またはエントリーが指定されていない場合は、すべてのフィールドが書き込まれます（後方互換性を維持するため）。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
patchPostProcessing1&lt;br /&gt;
{&lt;br /&gt;
   type            patchPostProcessing;&lt;br /&gt;
   // Optional new entry&lt;br /&gt;
   fields          (position &amp;quot;U.*&amp;quot; d T nParticle);&lt;br /&gt;
   maxStoredParcels 20;&lt;br /&gt;
   patches&lt;br /&gt;
   (&lt;br /&gt;
       cycLeft_half0&lt;br /&gt;
       cycLeft_half1&lt;br /&gt;
   );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Tutorial&lt;br /&gt;
: $FOAM_TUTORIALS/lagrangian/reactingParcelFoam/filter&lt;br /&gt;
&lt;br /&gt;
=== 新しい双方向パーティクル・ストリームライン ===&lt;br /&gt;
StreamLinesとwallBoundedStreamLines関数オブジェクトが拡張され、シードポイントからの双方向トラッキングが可能になりました。さらに、wallBoundedStreamlines関数オブジェクトが境界面ごとに複数のトラックをサポートするようになりました。&lt;br /&gt;
&lt;br /&gt;
この新機能は、（以前のリリースのtrackForwardフラグの代わりに）新しいdirectionキーワードで有効にすることができる：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
U               U;&lt;br /&gt;
direction       bidirectional; // or forward/backward&lt;br /&gt;
fields         (U p);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;次の画像は、2組のファンクションオブジェクトが必要だった以前の動作を示している：&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/functionObjects/field/streamLine&lt;br /&gt;
&lt;br /&gt;
=== サーフェス関数オブジェクトへの新しい距離 ===&lt;br /&gt;
新しいsurfaceDistance関数オブジェクトは、指定されたジオメトリまでの距離を示すフィールド（volScalarField）を生成します。これは、メッシュの解像度が不十分で隙間にメッシュが入らないなどのメッシュの問題を検出するために使用できます。&lt;br /&gt;
&lt;br /&gt;
* サーフェスの指定は、snappyHexMeshおよびfoamyHexMeshと互換性のあるジオメトリ・エントリを介して行われます。&lt;br /&gt;
* 特定のサーフェスに限定せず、あらゆるサーフェスで最も近いサーフェスを見つける。&lt;br /&gt;
* デフォルトでは、すべてのセル・センターについて最も近いセルも見つける。これはオプションのdoCells booleanフラグをオフにすることで抑制できる。&lt;br /&gt;
* 境界上の値は、面の中心からの距離になります。&lt;br /&gt;
&lt;br /&gt;
system/surfaceDistance辞書のサンプル：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
surfaceDistance&lt;br /&gt;
{&lt;br /&gt;
   // Where to load it from&lt;br /&gt;
   libs            (fieldFunctionObjects);&lt;br /&gt;
   type            surfaceDistance;&lt;br /&gt;
   geometry&lt;br /&gt;
   {&lt;br /&gt;
       motorBike.obj&lt;br /&gt;
       {&lt;br /&gt;
           type triSurfaceMesh;&lt;br /&gt;
       }&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これは、例えばpostProcessで使用できる：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
postProcess -func surfaceDistance&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/functionObjects/field/surfaceDistance&lt;br /&gt;
&lt;br /&gt;
== パラレル ==&lt;br /&gt;
&lt;br /&gt;
=== ファイル修正スキューを更新 ===&lt;br /&gt;
複数のノードで並列ケースを実行する場合、プロセッサーのディレクトリは通常、NFSなどのネットワーク・ファイリング・システムを使用してアクセスされる。この場合、例えば辞書の変更を確認するために、自明でない待ち時間が発生する可能性があります。この目的のために、etc/controlDictに&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fileModificationSkew 10;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これは、辞書が変更されたとみなされるまでのファイル変更時間差の秒数である。2つ目の使用法は、#codeStream辞書エントリやコード化されたfunctionObjectなど、動的にコンパイルされたコードでの使用です。ここでは、dynamicCode/サブディクショナリ内の結果ライブラリが使用可能になるまでの待ち時間である。ただし、場合によってはファイルサーバーに大きな遅延が発生することがあるため、このfileModificationSkewは予想される最大値に設定する必要があります。&lt;br /&gt;
&lt;br /&gt;
このリリースでは動作が変更され、以下のコントロールが追加されました。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
maxFileModificationPolls 100;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これは、fileModificationSkew 秒待ってからチェックする回数の最大値である。この動作により、fileModificationSkewをもっと低い値（最小1）に設定できるようになった。&lt;br /&gt;
&lt;br /&gt;
上記の問題は、NFSでマウントされたディスクとマルチノードで実行する場合にのみ関係する。シングルノードの実行では、すべてのコアのファイルが一貫して表示されるため、マスターがコードのコンパイルを終了した場合、スレーブにも同じコードが表示されます。&lt;br /&gt;
&lt;br /&gt;
例えば、異なるコアに異なるルートを使用する分散実行については、$FOAM_TUTORIALS/IO/fileHandlerチュートリアルを参照してください。ここでは、コードはすべてのコアでコンパイルされる必要があるので、同期の問題はありません。&lt;br /&gt;
&lt;br /&gt;
=== ADIOS2ファンクションオブジェクトの更新 ===&lt;br /&gt;
adiosWrite関数オブジェクトは、パラレルIO用のADIOS2ライブラリを使用するように書き換えられ、通常のOpenFOAMモジュールとして利用できるようになりました。&lt;br /&gt;
&lt;br /&gt;
この実装はチェックポイントとリスタートをサポートしている。&lt;br /&gt;
&lt;br /&gt;
HPC技術委員会の活動の一環として実施される予定である。&lt;br /&gt;
&lt;br /&gt;
== 携帯性 ==&lt;br /&gt;
&lt;br /&gt;
==== 新しいバイナリファイルの互換性 ====&lt;br /&gt;
OpenFOAM-v1912 は、OpenFOAM のコンパイルが混在するワークフローをサポートするために、異なる精度またはラベルサイズのバイナリ読み込みを処理するようになりました。&lt;br /&gt;
&lt;br /&gt;
そのようなワークフローのひとつは次のようなものだ：&lt;br /&gt;
&lt;br /&gt;
* snappyHexMeshを使った倍精度メッシュ。&lt;br /&gt;
* 空力用の単精度（メモリ帯域幅を削減するため）&lt;br /&gt;
* 化学（倍精度）を使ったさらなる計算&lt;br /&gt;
&lt;br /&gt;
必要なサイズ情報がヘッダーに含まれていれば、バイナリ形式のOpenFOAMファイルでも可能です。例えば&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
FoamFile&lt;br /&gt;
{&lt;br /&gt;
   version     2.0;&lt;br /&gt;
   format      binary;&lt;br /&gt;
   arch        &amp;quot;LSB;label=32;scalar=64&amp;quot;;&lt;br /&gt;
   class       vectorField;&lt;br /&gt;
   object      points;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;OpenFOAM-v1612 以降で生成されたバイナリファイルには、すでにこの情報が含まれており、使用することができます。&lt;br /&gt;
&lt;br /&gt;
64ビットのラベル幅を32ビットのラベル幅にするなど、データ範囲を狭める場合、範囲のオーバーフローは切り捨てられることに注意。&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v1912_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=835</id>
		<title>OpenFOAM v1912 リリースノート</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v1912_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=835"/>
		<updated>2023-09-09T12:39:59Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: ページの作成:「OpenCFDは、OpenFOAM® v1912の2019年12月リリースを発表いたします。このリリースは、コードの多くの領域にわたってOpenFOAM-v1906の機能を拡張しています。新機能は、OpenCFDのお客様がスポンサーとなった開発、内部資金による開発、OpenFOAMコミュニティからの機能や変更の統合を表しています。  OpenFOAMは、OpenCFDによってGPLライセンスの下で配布されていま…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenCFDは、OpenFOAM® v1912の2019年12月リリースを発表いたします。このリリースは、コードの多くの領域にわたってOpenFOAM-v1906の機能を拡張しています。新機能は、OpenCFDのお客様がスポンサーとなった開発、内部資金による開発、OpenFOAMコミュニティからの機能や変更の統合を表しています。&lt;br /&gt;
&lt;br /&gt;
OpenFOAMは、OpenCFDによってGPLライセンスの下で配布されています：&lt;br /&gt;
&lt;br /&gt;
* Linuxシステム上でコンパイル可能なソースコード&lt;br /&gt;
* Linuxシステム用のコンパイル済みバイナリのインストール&lt;br /&gt;
* Mac OS Xシステム用のコンパイル済みバイナリのインストール&lt;br /&gt;
* MS Windows インストーラ&lt;br /&gt;
* Bash on Ubuntu on Windows (MS Windows 10用)&lt;br /&gt;
&lt;br /&gt;
コードを入手するには、ダウンロード手順を参照してください。&lt;br /&gt;
&lt;br /&gt;
開発用リポジトリは一般に公開されています。これらのメインリポジトリはバグフィックスや新機能で定期的に更新され、最近のメンテナンスでサイズが800MB以上からmasterブランチの200MB程度に大幅に縮小されました。&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
* ユーザー向けのヘルプは、ユーザーアップグレードガイドに記載されています。&lt;br /&gt;
* 開発者向けのヘルプは、開発者向けアップグレードガイドで提供されています。&lt;br /&gt;
* また、典型的なイディオムの理解を深めるために、コーディングパターンに関する文書も作成しました。私たちは喜んでコンテンツを取り込みます！&lt;br /&gt;
&lt;br /&gt;
== Pre-processing ==&lt;br /&gt;
&lt;br /&gt;
=== 新しい式の構文 ===&lt;br /&gt;
OpenFOAM-v1912は、swak4Foam（Bernhard Gschaider）によって開拓されたアイデアを使用した式を実装しています。これは、swak4Foam（Bernard Gschaider）によって開発されたアイデアを使用しています。この追加は、辞書構文、文字列評価、境界条件、セットフィールドなど、OpenFOAMのさまざまな部分に浸透しており、今後の発展が期待されます。&lt;br /&gt;
&lt;br /&gt;
例えば、式は、正規文字列展開に数学的評価を埋め込むことを可能にします：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;&amp;lt;system&amp;gt;/sampling${{ round(${flowRate:-5} * 100) }}&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;その中核となるのが、このエクスプレッション機能である：&lt;br /&gt;
&lt;br /&gt;
* SQLiteプロジェクトのLemon Parser Generator - &amp;lt;nowiki&amp;gt;https://www.sqlite.org/lemon.html&amp;lt;/nowiki&amp;gt; を参照。&lt;br /&gt;
* Ragelステートマシン・コンパイラ - &amp;lt;nowiki&amp;gt;http://www.colm.net/open-source/ragel/&amp;lt;/nowiki&amp;gt; を参照。&lt;br /&gt;
&lt;br /&gt;
'''Source code'''&lt;br /&gt;
&lt;br /&gt;
$FOAM_SRC/OpenFOAM/include/m4&lt;br /&gt;
&lt;br /&gt;
$FOAM_SRC/src/OpenFOAM/expressions&lt;br /&gt;
&lt;br /&gt;
$FOAM_SRC/src/finiteVolume/expressions&lt;br /&gt;
&lt;br /&gt;
=== 辞書のインライン表現 ===&lt;br /&gt;
辞書入力に関する大きな変更点は、式の追加に関連する新しい#evalディレクティブである。多くの場合、#evalは#calcを直接置き換えることができ、速度を大幅に向上させることができる。比較として、以下の10回の評価では、#calcでは16秒かかったのに対し、#evalでは0.02秒しかかからなかった。&lt;br /&gt;
&lt;br /&gt;
この機能は辞書の見方を変えるだろう。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kgh     700;&lt;br /&gt;
split   0.4;&lt;br /&gt;
inlet1&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
   type            flowRateInletVelocity;&lt;br /&gt;
   massFlowRate    constant #eval{ $split * $kgh / 3600 };&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
inlet2&lt;br /&gt;
{&lt;br /&gt;
   type            flowRateInletVelocity;&lt;br /&gt;
   massFlowRate    constant #eval{ (1-$split) * $kgh / 3600 };&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;さらなる例は、v1912ユーザーアップグレードガイドに記載されています。&lt;br /&gt;
&lt;br /&gt;
'''Source code'''&lt;br /&gt;
&lt;br /&gt;
$FOAM_SRC/OpenFOAM/db/dictionary/functionEntries/evalEntry&lt;br /&gt;
&lt;br /&gt;
'''Tutorial'''&lt;br /&gt;
&lt;br /&gt;
これまで#calcを使用していたチュートリアルはすべて#evalを使用するようになりました。&lt;br /&gt;
&lt;br /&gt;
=== 新しい式ベースの setFields ユーティリティ ===&lt;br /&gt;
この式は、setExprFieldsとsetExprBoundaryFieldsという新しいユーティリティをサポートしており、似たような名前のswak4Foamのファンキーなユーティリティと同じような役割を果たします。&lt;br /&gt;
&lt;br /&gt;
setExprFieldsは、フィールドの設定に図形と選択を使う代わりに、条件と式の組み合わせを使う。条件が有効な場合にのみ、式の結果が適用される。例えば、以下のようにすると、定義されたゾーン内の温度が調整される：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
expressions&lt;br /&gt;
&lt;br /&gt;
(&lt;br /&gt;
&lt;br /&gt;
   T&lt;br /&gt;
   {&lt;br /&gt;
       field       T;&lt;br /&gt;
       dimensions  [0 0 0 1 0 0 0];&lt;br /&gt;
       constants&lt;br /&gt;
       {&lt;br /&gt;
           centre (0.21 0 0.01);&lt;br /&gt;
       }&lt;br /&gt;
       variables&lt;br /&gt;
       (&lt;br /&gt;
           &amp;quot;radius = 0.1&amp;quot;&lt;br /&gt;
       );&lt;br /&gt;
       condition&lt;br /&gt;
       #{&lt;br /&gt;
           // Within the radius&lt;br /&gt;
           (mag(pos() - $[(vector)constants.centre]) &amp;lt; radius)&lt;br /&gt;
           // but only +ve y!&lt;br /&gt;
         &amp;amp;&amp;amp; bool(pos((pos() - $[(vector)constants.centre]).y()))&lt;br /&gt;
       #};&lt;br /&gt;
       expression&lt;br /&gt;
       #{&lt;br /&gt;
           300&lt;br /&gt;
         + 200 * (1 - mag(pos() - $[(vector)constants.centre]) / radius)&lt;br /&gt;
       #};&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;setExprBoundaryFieldsユーティリティは、バウンダリ・フィールド・エントリをカスタムで変更するための同様の目的を果たす。&lt;br /&gt;
&lt;br /&gt;
'''Tutorials'''&lt;br /&gt;
&lt;br /&gt;
$FOAM_TUTORIALS/compressible/rhoPimpleFoam/RAS/TJunctionAverage&lt;br /&gt;
&lt;br /&gt;
=== '''PDRFoam用の新しいセットフィールド・ユーティリティ''' ===&lt;br /&gt;
新しいPDRsetFieldsユーティリティはPDRFoamソルバーで使用する閉塞のテンソル抵抗を計算します。ジオメトリはPDRsetFieldsDictファイルを使ってプリミティブ形状の形で入力されます：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
// Data dictionary for PDRsetFields&lt;br /&gt;
&lt;br /&gt;
// Replace by the relevant names&lt;br /&gt;
&lt;br /&gt;
obsFileDir      &amp;quot;&amp;lt;case&amp;gt;/geometry&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
obsFileNames    (obstaclesDict);&lt;br /&gt;
&lt;br /&gt;
// legacyObsSpec   true;&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// obsFileNames    (position.obs base.obs);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;障害物は、obsFileNamesエントリーの下にリストされた個別のファイルで提供される。以下のような様々なタイプの障害物がサポートされている：&lt;br /&gt;
&lt;br /&gt;
* cylinder&lt;br /&gt;
* diagonal beam&lt;br /&gt;
* cuboid&lt;br /&gt;
* grating&lt;br /&gt;
* louvre&lt;br /&gt;
* patch&lt;br /&gt;
&lt;br /&gt;
以下に障害物の例を示す：&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_UTILITIES//utilities/preProcessing/PDRsetFields&lt;br /&gt;
; Tutorial&lt;br /&gt;
: $FOAM_UTILITIES/combustion/PDRFoam/pipeLattice&lt;br /&gt;
&lt;br /&gt;
=== checkMeshから出力される壁の距離 ===&lt;br /&gt;
checkMesh ユーティリティのオプション -writeAllFields が拡張され、壁距離をフィールド wallDistance として書き込むようになりました。これは、system/fvSchemes辞書で壁距離法が選択されていることを必要とします：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wallDist&lt;br /&gt;
{&lt;br /&gt;
   method meshWave;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;wallDistanceは壁パッチのSMALL(1e-15)に設定され、paraFoamなどで後処理することができます：&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_UTILITIES/mesh/manipulation/checkMesh&lt;br /&gt;
&lt;br /&gt;
== snappyHexMesh : 細いギャップを自動的に閉じる ==&lt;br /&gt;
複雑な形状のメッシュを作成する際、ユーザがメッシュを必要としない薄いギャップがあるかもしれません。このリリースではsnappyHexMeshは面毎、面領域毎にメッシュするギャップの最小サイズを指定するblockLevelを指定することができます。この指定されたサイズより小さいギャップ内のセルは削除されます（その結果、ギャップ内のセルはなくなります）。&lt;br /&gt;
&lt;br /&gt;
この拡張機能は以下の構文で有効になる：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
refinementSurfaces&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;gap.*&amp;quot;&lt;br /&gt;
   {&lt;br /&gt;
       // Surface-wise min and max refinement level&lt;br /&gt;
       level       (2 2);&lt;br /&gt;
&lt;br /&gt;
       // From cell level 2 onwards start checking&lt;br /&gt;
       // for opposite surfaces&lt;br /&gt;
       blockLevel  2;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;blockLevel 設定は以下を決定する。&lt;br /&gt;
&lt;br /&gt;
* ギャップ検知にサーフェスが全く使用されていないかどうか。&lt;br /&gt;
* 理想的なギャップの大きさ：2 * cellize; ここで、cellize は初期セルサイズから blockLevel を何倍かにリファインして決定される。&lt;br /&gt;
&lt;br /&gt;
全てのサーフェス精密化snappyHexMeshの後、シェル/ボリュームの精密化の前に、全てのセルについて最も近い2つのサーフェスを決定します。もしセルが&lt;br /&gt;
&lt;br /&gt;
* 2つの面の間、または同じ面の切り離された領域&lt;br /&gt;
* であり、対向点間の距離はギャップサイズより小さい。&lt;br /&gt;
&lt;br /&gt;
の場合、セルは削除される。&lt;br /&gt;
&lt;br /&gt;
チュートリアルのopposite_wallsは、薄いギャップを形成する2つの表面を持つ単純なブロックです。&lt;br /&gt;
&lt;br /&gt;
; Tutorial&lt;br /&gt;
: $FOAM_TUTORIALS/mesh/snappyHexMesh/opposite˙walls&lt;br /&gt;
&lt;br /&gt;
== 数値 ==&lt;br /&gt;
&lt;br /&gt;
=== 新しい随伴形状最適化 ===&lt;br /&gt;
アジョイント・ライブラリは、自動化された形状最適化ループを可能にする新機能で強化されている。&lt;br /&gt;
&lt;br /&gt;
これは、OpenFOAMのガバナンス・フレームワークの下、OpenFOAM-v1906でリリースされたアジョイント最適化ツールの続編です。&lt;br /&gt;
&lt;br /&gt;
体積Bスプラインに基づくパラメータ化スキームが導入され、その制御点は最適化ループにおける設計変数として機能する（下記参照）。ボリューメトリックBスプラインボックスの制御点は、直交座標または円筒座標で定義できます。&lt;br /&gt;
&lt;br /&gt;
ループ全体（流体方程式とアジョイント方程式の解法，感度導関数の計算，設計変数とメッシュの更新）は，adjointOptimisationFoam ソルバー内で実行されます．設計変数を更新するために，BFGS のような一般的な準ニュートン法や，SQP や拘束射影のような拘束を扱える方法など，多くの方法が実装されています．&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SOLVERS/incompressible/adjointOptimisationFoam $FOAM_SRC/optimisation/adjointOptimisation/adjoint&lt;br /&gt;
; Examples&lt;br /&gt;
: $FOAM_TUTORIALS/incompressible/adjointOptimisationFoam&lt;br /&gt;
; Attribution&lt;br /&gt;
: このソフトウェアはPCOpt/NTUAとFOSS GPによって開発され、以下の人々からの貢献があった。&lt;br /&gt;
:* Dr Evangelos Papoutsis-Kiachagias,&lt;br /&gt;
:* Konstantinos Gkaragounis,&lt;br /&gt;
:* Professor Kyriakos Giannakoglou,&lt;br /&gt;
:* Dr Andrew Heather&lt;br /&gt;
; References&lt;br /&gt;
:* E.M. Papoutsis-Kiachagias, N. Magoulas, J. Mueller, C. Othmer, K.C. Giannakoglou: ’Noise Reduction in Car Aerodynamics using a Surrogate Objective Function and the Continuous Adjoint Method with Wall Functions’, Computers &amp;amp; Fluids, 122:223-232, 2015&lt;br /&gt;
:* E. M. Papoutsis-Kiachagias, V. G. Asouti, K. C. Giannakoglou, K. Gkagkas, S. Shimokawa, E. Itakura: Multi-point aerodynamic shape optimization of cars based on continuous adjoint, Structural and Multidisciplinary Optimization, 59(2):675694, 2019&lt;br /&gt;
; Integration&lt;br /&gt;
: コードはOpenCFDとNTUAが共同で統合した。&lt;br /&gt;
&lt;br /&gt;
=== 新しい重み付き磁束補間スキーム ===&lt;br /&gt;
新しいweightedFlux補間スキームは、重み付けされたフラックスを用いる線形スキームである。&lt;br /&gt;
&lt;br /&gt;
次のような一般的なフラックスの場合：&lt;br /&gt;
&lt;br /&gt;
の面値を必要とするガウスの定理を用いて勾配を計算する。 これは次のように計算される：&lt;br /&gt;
&lt;br /&gt;
どこ:&lt;br /&gt;
&lt;br /&gt;
* φi is the cell value&lt;br /&gt;
* φfis the face value&lt;br /&gt;
*&lt;br /&gt;
* σi is the diffusivity coefficient&lt;br /&gt;
&lt;br /&gt;
不連続の場合、線形補間は正しくないフラックスを生成する。weightedFlux補間スキームは、Tの調和補間と組み合わせて以下のように使用される。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
laplacianSchemes&lt;br /&gt;
{&lt;br /&gt;
   laplacian(DT,T) Gauss harmonic corrected;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
gradSchemes&lt;br /&gt;
{&lt;br /&gt;
   grad(T)     Gauss weightedFlux sigma;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;上記の例では、以下のように滑らかな温度と熱流束のプロファイルが得られる：&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/finiteVolume/interpolation/surfaceInterpolation/schemes/weightedFlux&lt;br /&gt;
; Tutorial&lt;br /&gt;
: $FOAM_TUTORIALS/verificationAndValidation/schemes/weigthedFluxExample&lt;br /&gt;
; Attribution&lt;br /&gt;
: このスキームはノルベルト・ウェーバーの寄稿によるものである。&lt;br /&gt;
; References&lt;br /&gt;
:* Weber, N.; Beckstein, P.; Galindo, V.; Starace, M.; Weier, T.: Electro-vortex flow simulation using coupled meshes, Computers and Fluids 168(2018) 101-109&lt;br /&gt;
:* For more details see the Issue tracker&lt;br /&gt;
&lt;br /&gt;
=== 混合精度モードでのジオメトリ処理の改善 ===&lt;br /&gt;
OpenFOAM-v1906で導入された混合精度モード(SPDP)により、倍精度で実行する場合に比べ、大幅なスピードアップとメモリ要件の削減が可能になります。&lt;br /&gt;
&lt;br /&gt;
混合精度モードでは、線形ソルバーだけが倍精度で動作する。他の機能はすべて単精度で実行されます。これにより、例えばcheckMeshを使用した場合、完全に有効なクローズドセルがオープンセルとして表示される可能性があります。単精度(SP)で実行すると、以下のようなレポートが表示されます：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
***Boundary openness (3.77976e-07 3.97566e-06 -2.26237e-08) possible hole in boundary description.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;このバージョンでは、倍精度計算が次のように拡張されています。&lt;br /&gt;
&lt;br /&gt;
* 面の中心と面積、セルの中心と体積の計算。実際の結果はまだ単精度で保存されていることに注意してください。&lt;br /&gt;
* ほとんどのcheckMeshの合計、例えばオープンセルの上。&lt;br /&gt;
* すべてのフィールドベースの合計（sum）。&lt;br /&gt;
&lt;br /&gt;
これらの変更はSPDPモードにのみ影響することに注意。前の例では、次のように報告されている：&lt;br /&gt;
&lt;br /&gt;
境界の開き (-6.31099e-11 -3.99859e-11 -3.747e-10) OK.&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCellCentresAndVols.C $FOAM_SRC/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshFaceCentresAndAreas.C&lt;br /&gt;
&lt;br /&gt;
== ソルバーと物理モデル ==&lt;br /&gt;
&lt;br /&gt;
=== 新しいインターフェイス追跡ダイナミック・メッシュ ===&lt;br /&gt;
このリリースには、foam-extendプロジェクトのムービングメッシュインターフェーストラッキングライブラリが統合されています。OpenFOAM v1912への移植は、Zeljko Tukovic (FMENA, Zagreb)がOpenCFD Ltd.と共同で行いました。&lt;br /&gt;
&lt;br /&gt;
基本的な機能は、interfaceTrackingFvMeshクラスによって実装されています。自由表面における運動学的および動的条件は、速度と圧力のカスタム境界条件によって課されます。界面追跡計算は、標準的なpimpleFoamソルバーを使用して実行されます。&lt;br /&gt;
&lt;br /&gt;
下の例は、汚染され、擾乱を受けた液滴の濃度と形状の変化を示している。&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/dynamicFaMesh/interfaceTrackingFvMesh&lt;br /&gt;
; Tutorial&lt;br /&gt;
: $FOAM_TUTORIALS/incompressible/pimpleFoam/laminar/contactAngleCavity $FOAM_TUTORIALS/incompressible/pimpleFoam/laminar/contaminatedDroplet2D&lt;br /&gt;
; References&lt;br /&gt;
: Z. Tukovic and H. Jasak. A moving mesh finite volume interface tracking method for surface tension dominated interfacial fluid flow. Computers &amp;amp; fluids. 55 (2012) 70-84.&lt;br /&gt;
; Attribution&lt;br /&gt;
: Code written and contributed by Zeljko Tukovic&lt;br /&gt;
&lt;br /&gt;
=== 新しい6自由度（DoF）機能 ===&lt;br /&gt;
&lt;br /&gt;
===== 新しいlinearSpringDamper拘束モデル =====&lt;br /&gt;
6自由度ライブラリには、新しいlinearSpringDamperモデルが含まれています。&lt;br /&gt;
&lt;br /&gt;
これはスプリングダンパーシステムで、アンカーとrefAttachmentPt間の距離がrestLengthを超えたときに「ソフトな」ロープ拘束として機能する。&lt;br /&gt;
&lt;br /&gt;
ロープがたるんでいるときは、体に力はかからない。dynamicMeshDictでの指定は以下の通り：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
restraints&lt;br /&gt;
{&lt;br /&gt;
   chain&lt;br /&gt;
   {&lt;br /&gt;
       sixDoFRigidBodyMotionRestraint  linearSpringDamper;&lt;br /&gt;
       refAttachmentPt     (3.7 4.2 4.5);&lt;br /&gt;
       anchor              table&lt;br /&gt;
       (&lt;br /&gt;
           (0         (3.7 4.2 6.5))&lt;br /&gt;
           (2         (4.7 4.2 6.5))&lt;br /&gt;
           (6         (5.7 4.2 4.5))&lt;br /&gt;
           (8         (6.7 4.2 4.5))&lt;br /&gt;
       );&lt;br /&gt;
       psi                 1;&lt;br /&gt;
       wn                  8.28;&lt;br /&gt;
       numberOfChains      4;&lt;br /&gt;
       restLength          2;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;どこだ？&lt;br /&gt;
&lt;br /&gt;
* refAttachmentPtはソリッドオブジェクトへのアタッチメントポイントです。&lt;br /&gt;
* anchorはロープのアンカーで、Function1の時間依存の項目として指定される。&lt;br /&gt;
* psiは減衰比。&lt;br /&gt;
* wnは、システムの減衰していない固有振動数である。&lt;br /&gt;
* numberOfChainsは、ボディに取り付けられているチェーンの数。&lt;br /&gt;
* restLength はロープの残りの長さ。&lt;br /&gt;
&lt;br /&gt;
システムの減衰と剛性は次のように計算される：&lt;br /&gt;
&lt;br /&gt;
注：psiとwnは、柔らかいロープの挙動をモデル化するために、過減衰系に対して設定されるべきである。&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/restraints/linearSpringDamper&lt;br /&gt;
&lt;br /&gt;
===== 新しいソフト・ウォール・サスペンション =====&lt;br /&gt;
新しいソフトウォールモデルは、壁法線方向のアンカーとrefAttachmentPt間の距離が負になったときに「ソフト」な壁として機能するダンパー-線形-バネ拘束です。&lt;br /&gt;
&lt;br /&gt;
ロープがたるんでいるときは、体に力はかからない。dynamicMeshDictでの指定は以下の通り：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
restraints&lt;br /&gt;
{&lt;br /&gt;
   upperWall&lt;br /&gt;
   {&lt;br /&gt;
       type                    softWall;&lt;br /&gt;
       body                    floatingObject;&lt;br /&gt;
       anchor                  (0.5 0.5 0.7);&lt;br /&gt;
       refAttachmentPt         (0.5 0.5 0.58);&lt;br /&gt;
       wallNormal              (0 0 -1);&lt;br /&gt;
       psi                     2.0;&lt;br /&gt;
       C                       0.01;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;どこ:&lt;br /&gt;
&lt;br /&gt;
* refAttachmentPtは、ソリッドオブジェクトへのアタッチメントポイントです。&lt;br /&gt;
* アンカーはロープの錨である。&lt;br /&gt;
* psiは減衰比&lt;br /&gt;
* wallNormal は壁の法線方向&lt;br /&gt;
* Cはモデル定数&lt;br /&gt;
&lt;br /&gt;
システムの減衰と剛性は次のように計算される：&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/rigidBodyDynamics/restraints/softWall&lt;br /&gt;
&lt;br /&gt;
===== オーバーセットされたダイナミックメッシュのための新しいマルチモーション機能 =====&lt;br /&gt;
オーバーセット・ダイナミック・メッシュが複数のモーション・タイプを扱えるようになりました。これにより、ユーザーは異なるモーション・ソルバーのアクションで異なるオブジェクトを動かすことができます。&lt;br /&gt;
&lt;br /&gt;
一例を挙げよう：&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/multiphase/overInterDyMFoam/floatingBodyWithSpring&lt;br /&gt;
&lt;br /&gt;
dynamicMeshDict辞書の中で、dynamicOversetFvMeshは2つのモーション・ソルバーを持っています：&lt;br /&gt;
&lt;br /&gt;
* 新しいdrivenLinearMotionを使ったsolidBody（下記参照）&lt;br /&gt;
* sixDoFRigidBodyMotion&lt;br /&gt;
&lt;br /&gt;
チュートリアルでは、2つのモーション・ソルバーが異なるセルセットに適用される。&lt;br /&gt;
&lt;br /&gt;
cubeという名前のソルバーは、モーション・ソルバーsixDoFRigidBodyMotionを使用するfloatingObjectです。新しいキーワードCofGvelocityは、drivenLinearMotionソルバーで使用するオブジェクトの重心速度を書き込む。&lt;br /&gt;
&lt;br /&gt;
新しいdrivenLinearMotionモーションソルバは剛体タイプで、エントリーCofGvelocityに従って点を移動します。このチュートリアルでは、オーバーセット計算の背景メッシュに対応するc0セルセットに適用します。&lt;br /&gt;
&lt;br /&gt;
drivenLinearMotionは、オーバーセット計算の &amp;quot;inset &amp;quot;領域で、与えられたオブジェクトに &amp;quot;追従する &amp;quot;背景メッシュを設定することができます。これは、オブジェクトの予想される変位が大きい場合にメッシュサイズを小さくするのに役立ちます。&lt;br /&gt;
&lt;br /&gt;
; Tutorial&lt;br /&gt;
: $FOAM_TUTORIALS/multiphase/overInterDyMFoam/floatingBodyWithSpring&lt;br /&gt;
&lt;br /&gt;
=== 新しい平行放射モデル ===&lt;br /&gt;
&lt;br /&gt;
===== fvDOM用の新しい平行太陽ビームモデル =====&lt;br /&gt;
fvDOM放射モデルに、太陽外部負荷からの外部ビームのサポートが追加されました。この効果はfvDOMモデルの光線に追加され、radiationProperties辞書の新しい項目useExternalBeamをtrueに設定することで有効になります。&lt;br /&gt;
&lt;br /&gt;
fvDOMの光線立体角は、角度離散化に従って最適な光線方向と一致するように回転される。&lt;br /&gt;
&lt;br /&gt;
線源のエネルギー・スペクトルを得るには、以下のエントリーを使用する：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
spectralDistribution (2 1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;注：spectralDistributionのバンド数は、吸収率モデルのバンド数と一致する必要があります。つまり、boundaryRadiationPropertiesのmultiBandAbsorptionです：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
type       opaqueDiffusive;&lt;br /&gt;
wallAbsorptionEmissionModel&lt;br /&gt;
{&lt;br /&gt;
   type            multiBandAbsorption;&lt;br /&gt;
   absorptivity    (0.3 0.7);&lt;br /&gt;
   emissivity      (0.3 0.7);&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;輻射境界条件の例では、不透明な拡散壁と、2つのバンドを用いたマルチバンド吸収モデルを指定しています。&lt;br /&gt;
&lt;br /&gt;
コリメートモデルは、solarLoad放射モデルと併用しないでください。&lt;br /&gt;
&lt;br /&gt;
コリメートモデルは、太陽計算機を使用して太陽の方向とエネルギー束を導きます。標準モデルは、solarLoad放射モデルと同様に使用できます。&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/thermophysicalModels/radiation/radiationModels/fvDOM&lt;br /&gt;
&lt;br /&gt;
===== 新しいマルチバンドゾーン吸収発光モデル =====&lt;br /&gt;
新しいmultiBandZoneAbsorptionEmissionモデルは、領域内の不均一な吸収率および放射率フィールドの使用を可能にします。例えば、2つのバンドモデルの場合：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
multiBandZoneAbsorptionEmissionCoeffs&lt;br /&gt;
{&lt;br /&gt;
   absorptivity  (0.01 0.01);&lt;br /&gt;
   emissivity    (0.01 0.01);&lt;br /&gt;
   zones&lt;br /&gt;
   {&lt;br /&gt;
       absorptivity  (&amp;quot;trees&amp;quot; (20 20));&lt;br /&gt;
       emissivity    (&amp;quot;trees&amp;quot; (20 20));&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;この例では、背景メッシュに(0.01 0.01)、樹木というゾーンに(20 20)の吸収率を設定している。&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/thermophysicalModels/radiation/submodels/absorptionEmissionModel/absorptionEmissionModel/multiBandZoneAbsorptionEmission&lt;br /&gt;
; Tutorial&lt;br /&gt;
: $FOAM_TUTORIALS/heatTransfer/chtMultiRegionFoam/solarBeamWithTrees&lt;br /&gt;
&lt;br /&gt;
=== 新しい多相乱流安定化 ===&lt;br /&gt;
乱流の運動エネルギーは、非圧縮VOFソルバーにおいて、表面波下のほぼポテンシャル流領域において、位相界面および水柱全体で過剰に予測される。&lt;br /&gt;
&lt;br /&gt;
この挙動は、乱流運動エネルギー方程式と乱流粘性場に補正を適用する新しいmultiphaseStabilizedTurbulence fvOptionを使用して補正されます。&lt;br /&gt;
&lt;br /&gt;
を使って指定する：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
multiphaseStabilizedTurbulence1&lt;br /&gt;
{&lt;br /&gt;
   type            multiphaseStabilizedTurbulence;&lt;br /&gt;
   active          yes;&lt;br /&gt;
   multiphaseStabilizedTurbulenceCoeffs&lt;br /&gt;
&lt;br /&gt;
   {&lt;br /&gt;
       // Optional coefficients&lt;br /&gt;
       lambda2         0.1;   // A value of 0 sets the nut correction to 0&lt;br /&gt;
       Cmu             0.09;  // from k-epsilon model&lt;br /&gt;
       C               1.51;  // model coefficient from k-omega model&lt;br /&gt;
       alpha           1.36;  // 1/Prt&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/fvOptions/sources/derived/multiphaseStabilizedTurbulence&lt;br /&gt;
; References&lt;br /&gt;
:* Devolder, B., Rauwoens, P., and Troch, P. (2017). Application of a buoyancy-modified k-w SST turbulence model to simulate wave run-up around a monopile subjected to regular waves using OpenFOAM. Coastal Engineering, 125, 81-94.&lt;br /&gt;
:* Larsen, B.E. and Fuhrman, D.R. (2018). On the over-production of turbulence beneath surface waves in Reynolds-averaged Navier-Stokes models J. Fluid Mech, 853, 419-460&lt;br /&gt;
; Attribution&lt;br /&gt;
:* OpenCFDによる実装&lt;br /&gt;
:* Turbulence Technical Committee、およびBjarke Eltard-LarsenとDavid Fuhrman（デンマーク工科大学）による有益な議論とコードテストに感謝する。&lt;br /&gt;
&lt;br /&gt;
=== 新しいk-epsilon-phit-f乱流モデル ===&lt;br /&gt;
Laurenceら, 2005）の研究に基づき、kEpsilonPhitFと名付けられた楕円緩和関数を用いた新しい3輸送方程式線形渦粘性RANS乱流クロージャーモデルが実装されました。&lt;br /&gt;
&lt;br /&gt;
kEpsilonPhitFは、(Durbin, 1995)のv2-f手法に由来するkEpsilonベースのモデルである。v2-f手法の主な利点は、渦粘性モデルの最小限の定式化を維持しながら、線形渦粘性モデルとレイノルズ応力方程式モデルの中間を提供することであると報告されています。このことは、壁面距離や低レイノルズ数型の修正を行うことなく、壁面に向かって壁面法線速度スケールが放物線状に減衰することをシミュレーションに依存せずに再現できることに現れています。&lt;br /&gt;
&lt;br /&gt;
しかし、v2-fモデルの大半は、特に壁境界において、v2場とf場の連成の定式化により、分離解法アルゴリズムでは数値的に厳しいことが判明した。&lt;br /&gt;
&lt;br /&gt;
この欠点にもかかわらず、v2-fモデルは、さまざまな非平衡／非局所効果を示す流れ、強い圧力勾配、分離、衝突を伴う流れ、熱伝達を含む乱流場への変動圧力の影響など、幅広い一般的な流れの特性をうまく再現することが確認されている。&lt;br /&gt;
&lt;br /&gt;
LienとKalitzin, 2001）によるv2-fモデル（すなわちOpenFOAMのv2fモデル）は、分離計算を可能にするためにオリジナルのv2-fモデルを再定義したものであるが、モデルの忠実度に関する多くの欠点が文献に報告されている。&lt;br /&gt;
&lt;br /&gt;
v2-f手法の欠点を克服するために、v2-f手法は(Hanjali et al., 2004)と(Laurence et al., 2005)によって再評価され、同時に、スケールを等価な無次元形式に変換することによって、すなわち数値的な剛性を低減することによって再評価された。これらの変種は、オリジナルのv2-fモデルの理論的なモデルの忠実性を保持しながら、数値的なロバスト性と格子異常に対する鈍感性を提供すると考えられた。&lt;br /&gt;
&lt;br /&gt;
kEpsilonPhitFモデルはベータ段階であることにご注意ください。今後、モデルの内部的な変更が行われる可能性もありますし、行われない可能性もあります。さらに、OpenFOAMで利用可能なv2fモデルは、kEpsilonPhitFまたは他のv2-fモデルのバリエーションに取って代わられる予定です。&lt;br /&gt;
&lt;br /&gt;
kEpsilonPhitFモデルの実装は，平滑壁平面流路流（），ゼロ圧力勾配乱流平板，2次元後向きステップ，流路内2次元丘の正準流によって検証された．&lt;br /&gt;
&lt;br /&gt;
例として、3つの検証プロットを以下に示す：&lt;br /&gt;
&lt;br /&gt;
モデル方程式、実装、使用法に関するより詳細な情報は、（拡張コードガイドのkEpsilonPhitFセクション）にあります。&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/TurbulenceModels/turbulenceModels/RAS/kEpsilonPhitF&lt;br /&gt;
; Tutorial&lt;br /&gt;
: $FOAM_TUTORIALS/incompressible/simpleFoam/RAS/bump2D&lt;br /&gt;
; Attribution&lt;br /&gt;
: OpenCFD は、有益な議論と有益な示唆を与えてくれた Mirza Popovac 博士 (オーストリア工科大学) に感謝したい。&lt;br /&gt;
&lt;br /&gt;
=== 雪崩モデリング・モジュールの更新 ===&lt;br /&gt;
冬が近づくにつれ、雪崩モデリング・モジュールでは、RAMMSモデル（Christen et al, 2010）の実装やMedinaモデルの安定性の改善など、巻き込みモデルの更新が行われた。&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: &amp;lt;nowiki&amp;gt;https://develop.openfoam.com/Development/openfoammodules/avalanche&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
; Attribution&lt;br /&gt;
: The avalanche code is developed by Matti Rauter&lt;br /&gt;
&lt;br /&gt;
=== 液体の新しい状態方程式 ===&lt;br /&gt;
液体と固体のための逆多項式状態方程式rPolynomialはopenfoam.orgから統合され、以下の形式を持つ：&lt;br /&gt;
&lt;br /&gt;
新しいオプションは、thermophysicalProperties辞書で次のように指定される：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
thermoType&lt;br /&gt;
{&lt;br /&gt;
   type            heRhoThermo;&lt;br /&gt;
   mixture         pureMixture;&lt;br /&gt;
   transport       const;&lt;br /&gt;
   thermo          hConst;&lt;br /&gt;
   equationOfState rPolynomial; // new entry&lt;br /&gt;
   specie          specie;&lt;br /&gt;
   energy          sensibleInternalEnergy;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mixture&lt;br /&gt;
{&lt;br /&gt;
   specie&lt;br /&gt;
   {&lt;br /&gt;
       molWeight   18.0;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   equationOfState&lt;br /&gt;
   {&lt;br /&gt;
       // Coefficients for the reciprocal polynomial equation of state&lt;br /&gt;
       C (0.001278 -2.1055e-06 3.9689e-09 4.3772e-13 -2.0225e-16);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   thermodynamics&lt;br /&gt;
   {&lt;br /&gt;
       Cp          4195;&lt;br /&gt;
       Hf          0;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   transport&lt;br /&gt;
   {&lt;br /&gt;
       mu          3.645e-4;&lt;br /&gt;
       Pr          2.289;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/src/thermophysicalModels/specie/equationOfState/rPolynomial&lt;br /&gt;
; Tutorial&lt;br /&gt;
: $FOAM_TUTORIALS/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/thermophysicalProperties.water&lt;br /&gt;
; Attribution&lt;br /&gt;
: モデルはopenfoam.orgから統合された。&lt;br /&gt;
&lt;br /&gt;
== 境界条件 ==&lt;br /&gt;
&lt;br /&gt;
=== ニューウェーブ・モデル ===&lt;br /&gt;
このリリースでは、OpenFOAM v1812で導入されたwaveMaker条件を拡張し、パドルの数を選択して3次元波を生成します。3次元フラップ波生成の例を以下に示します。&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/waveModels/derivedPointPatchFields/waveMaker&lt;br /&gt;
; Examples&lt;br /&gt;
: $FOAM_TUTORIALS/multiphase/interFoam/laminar/waves/waveMakerMultiPaddleFlap $FOAM_TUTORIALS/multiphase/interFoam/laminar/waves/waveMakerMultiPaddlePiston&lt;br /&gt;
; Attribution&lt;br /&gt;
: これらの拡張機能はEnvironmental Hydraulics Institute IHCantabriaから提供されたもので、コミットd0c5662172を参照： ガブリエル・バラハス&lt;br /&gt;
; Integration&lt;br /&gt;
: このコードは OpenCFD によって統合されました - マージリクエスト 317 を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== 新しい式に基づく境界条件 ===&lt;br /&gt;
式が境界条件を満たす場所： exprFixedValue境界条件とexprMixed境界条件。&lt;br /&gt;
&lt;br /&gt;
これらの境界条件は、値、勾配、分数を式としてサポートする。例えば&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
outlet1&lt;br /&gt;
{&lt;br /&gt;
   type            exprFixedValue;&lt;br /&gt;
   value           $internalField;&lt;br /&gt;
   valueExpr       &amp;quot;0.5*(pInlet + pOutlet2)&amp;quot;;&lt;br /&gt;
   variables&lt;br /&gt;
   (&lt;br /&gt;
       &amp;quot;pInletinlet = weightAverage(p)&amp;quot;&lt;br /&gt;
       &amp;quot;pOutlet2outlet2 = p&amp;quot;&lt;br /&gt;
   );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Tutorials&lt;br /&gt;
: $FOAM_TUTORIALS/compressible/rhoPimpleFoam/RAS/TJunctionAverage&lt;br /&gt;
&lt;br /&gt;
=== 新しいスケール境界条件ラッパー ===&lt;br /&gt;
これは、任意の（固定値）境界条件に、時間または空間で変化するスケーリングを追加するためのラッパーです。uniformFixedValueのすべての機能が追加されています。下の例では、patch エントリを使用して指定された標準的な fixedValue 境界条件を変更し、scale エントリに従ってスケールを適用します。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;patchName&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   type            scaledFixedValue;&lt;br /&gt;
   scale table&lt;br /&gt;
   (&lt;br /&gt;
       (    0   0)&lt;br /&gt;
       (  1.0 1.0)&lt;br /&gt;
       (100.0 1.0)&lt;br /&gt;
   );&lt;br /&gt;
&lt;br /&gt;
   patch&lt;br /&gt;
   {&lt;br /&gt;
       type            fixedValue;&lt;br /&gt;
       value           uniform (15 0 0);&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;スケールの項目はPatchFunction1であり、以下のような複数のオプションがある：&lt;br /&gt;
&lt;br /&gt;
* constant&lt;br /&gt;
* csvFile&lt;br /&gt;
* mappedFile&lt;br /&gt;
* polynomial&lt;br /&gt;
* sampled&lt;br /&gt;
* scale&lt;br /&gt;
* sine&lt;br /&gt;
* square&lt;br /&gt;
* table&lt;br /&gt;
* tableFile&lt;br /&gt;
* uniformValue&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/scaledFixedValue&lt;br /&gt;
&lt;br /&gt;
== 後処理 ==&lt;br /&gt;
&lt;br /&gt;
=== パーティクルの後処理の改善 ===&lt;br /&gt;
&lt;br /&gt;
===== クラウドパッチ相互作用モデル =====&lt;br /&gt;
オプションでwriteToFileエントリーを使用して、パッチ相互作用の統計情報、例えば、くっついたり、逃げたりした粒子の数と質量をファイルに書き込みます。例として、localInteraction粒子パッチ相互作用モデルを使用する場合、新しいエントリーを次のように追加することができます：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
localInteractionCoeffs&lt;br /&gt;
{&lt;br /&gt;
   patches&lt;br /&gt;
&lt;br /&gt;
   (&lt;br /&gt;
       &amp;quot;(walls|cyc.*)&amp;quot;&lt;br /&gt;
       {&lt;br /&gt;
           type        rebound;&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
       &amp;quot;inlet|outlet&amp;quot;&lt;br /&gt;
       {&lt;br /&gt;
           type escape;&lt;br /&gt;
       }&lt;br /&gt;
   );&lt;br /&gt;
&lt;br /&gt;
   // New optional entry&lt;br /&gt;
   writeToFile     yes;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== クラウド機能オブジェクト =====&lt;br /&gt;
空の場合、またはエントリーが指定されていない場合は、すべてのフィールドが書き込まれます（後方互換性を維持するため）。&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
patchPostProcessing1&lt;br /&gt;
{&lt;br /&gt;
   type            patchPostProcessing;&lt;br /&gt;
   // Optional new entry&lt;br /&gt;
   fields          (position &amp;quot;U.*&amp;quot; d T nParticle);&lt;br /&gt;
   maxStoredParcels 20;&lt;br /&gt;
   patches&lt;br /&gt;
   (&lt;br /&gt;
       cycLeft_half0&lt;br /&gt;
       cycLeft_half1&lt;br /&gt;
   );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Tutorial&lt;br /&gt;
: $FOAM_TUTORIALS/lagrangian/reactingParcelFoam/filter&lt;br /&gt;
&lt;br /&gt;
=== 新しい双方向パーティクル・ストリームライン ===&lt;br /&gt;
StreamLinesとwallBoundedStreamLines関数オブジェクトが拡張され、シードポイントからの双方向トラッキングが可能になりました。さらに、wallBoundedStreamlines関数オブジェクトが境界面ごとに複数のトラックをサポートするようになりました。&lt;br /&gt;
&lt;br /&gt;
この新機能は、（以前のリリースのtrackForwardフラグの代わりに）新しいdirectionキーワードで有効にすることができる：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
U               U;&lt;br /&gt;
direction       bidirectional; // or forward/backward&lt;br /&gt;
fields         (U p);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;次の画像は、2組のファンクションオブジェクトが必要だった以前の動作を示している：&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/functionObjects/field/streamLine&lt;br /&gt;
&lt;br /&gt;
=== サーフェス関数オブジェクトへの新しい距離 ===&lt;br /&gt;
新しいsurfaceDistance関数オブジェクトは、指定されたジオメトリまでの距離を示すフィールド（volScalarField）を生成します。これは、メッシュの解像度が不十分で隙間にメッシュが入らないなどのメッシュの問題を検出するために使用できます。&lt;br /&gt;
&lt;br /&gt;
* サーフェスの指定は、snappyHexMeshおよびfoamyHexMeshと互換性のあるジオメトリ・エントリを介して行われます。&lt;br /&gt;
* 特定のサーフェスに限定せず、あらゆるサーフェスで最も近いサーフェスを見つける。&lt;br /&gt;
* デフォルトでは、すべてのセル・センターについて最も近いセルも見つける。これはオプションのdoCells booleanフラグをオフにすることで抑制できる。&lt;br /&gt;
* 境界上の値は、面の中心からの距離になります。&lt;br /&gt;
&lt;br /&gt;
system/surfaceDistance辞書のサンプル：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
surfaceDistance&lt;br /&gt;
{&lt;br /&gt;
   // Where to load it from&lt;br /&gt;
   libs            (fieldFunctionObjects);&lt;br /&gt;
   type            surfaceDistance;&lt;br /&gt;
   geometry&lt;br /&gt;
   {&lt;br /&gt;
       motorBike.obj&lt;br /&gt;
       {&lt;br /&gt;
           type triSurfaceMesh;&lt;br /&gt;
       }&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;これは、例えばpostProcessで使用できる：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
postProcess -func surfaceDistance&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Source code&lt;br /&gt;
: $FOAM_SRC/functionObjects/field/surfaceDistance&lt;br /&gt;
&lt;br /&gt;
== Parallel ==&lt;br /&gt;
&lt;br /&gt;
=== Updated file modification skew ===&lt;br /&gt;
When running a parallel case on multiple nodes the processor directories are usually accessed using a network filing system, e.g. NFS. This might have a non-trivial amount of latency to see changes to e.g. dictionaries. For this purpose there is in etc/controlDict&lt;br /&gt;
&lt;br /&gt;
fileModificationSkew 10;&lt;br /&gt;
&lt;br /&gt;
which is the number of seconds of file-modification-time difference before a dictionary is seen as having been changed. The second use is in dynamically compiled code, e.g. through the #codeStream dictionary entry or coded functionObject. Here it is the amount of time waiting for the resulting library in the dynamicCode/ sub-dictionary to become available. However, in some cases the file server might have a large delay so this fileModificationSkew has to be set to the maximum expected value.&lt;br /&gt;
&lt;br /&gt;
In this release the behaviour has been changed in that there is an additional control&lt;br /&gt;
&lt;br /&gt;
maxFileModificationPolls 100;&lt;br /&gt;
&lt;br /&gt;
which is the maximum number of times the code checks after waiting fileModificationSkew seconds. With this behaviour the fileModificationSkew can now be set to a much lower value (minimum 1).&lt;br /&gt;
&lt;br /&gt;
This above problem is only relevant for NFS mounted disks and multi-node runs. Single-node runs will have a consistent view of the files for all cores so if the master has finished compiling the code the slaves will see the same code.&lt;br /&gt;
&lt;br /&gt;
For distributed runs, e.g. using different roots for different cores - see the $FOAM_TUTORIALS/IO/fileHandler tutorial. Here the code needs to be compiled on all cores anyway so there should be no synchronisation problem.&lt;br /&gt;
&lt;br /&gt;
=== Updated ADIOS2 function object ===&lt;br /&gt;
The adiosWrite function object has been rewritten to use the ADIOS2 library for parallel IO and is now available as a regular OpenFOAM module&lt;br /&gt;
&lt;br /&gt;
The implementation supports checkpointing and restart read more...&lt;br /&gt;
&lt;br /&gt;
More tests at scale are required and will be conducted as part of the activities of the HPC Technical Committee&lt;br /&gt;
&lt;br /&gt;
== Portability ==&lt;br /&gt;
&lt;br /&gt;
==== New binary file compatibility ====&lt;br /&gt;
OpenFOAM-v1912 now handles binary reading of different precision or label sizes to support workflows with mixed compilations of OpenFOAM.&lt;br /&gt;
&lt;br /&gt;
One such workflow could be the following:&lt;br /&gt;
&lt;br /&gt;
* Meshing with snappyHexMesh in double precision.&lt;br /&gt;
* Single precision for aerodynamics (for reduced memory bandwidth)&lt;br /&gt;
* Further calculation with chemistry (double precision)&lt;br /&gt;
&lt;br /&gt;
This is now possible with binary formatted OpenFOAM files, provided that they contain the necessary size information in their header. For example,&lt;br /&gt;
&lt;br /&gt;
FoamFile&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
   version     2.0;&lt;br /&gt;
&lt;br /&gt;
   format      binary;&lt;br /&gt;
&lt;br /&gt;
   arch        &amp;quot;LSB;label=32;scalar=64&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
   class       vectorField;&lt;br /&gt;
&lt;br /&gt;
   object      points;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Binary files generated with OpenFOAM-v1612 and later will already contain this information and can be used.&lt;br /&gt;
&lt;br /&gt;
Note that when narrowing the data range e.g. 64-bit label width to 32-bit label width, any range overflows will be truncated.&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2306%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=834</id>
		<title>OpenFOAM v2306リリースノート</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2306%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=834"/>
		<updated>2023-09-09T09:07:16Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenCFDは、OpenFOAM® v2306の2023年6月リリースを発表します。このリリースは、コードの多くの領域にわたってOpenFOAM-v2212の機能を拡張しています。この新機能は、OpenCFDの顧客からのスポンサーによる開発、内部資金による開発、OpenFOAMコミュニティからの機能や変更の統合を表しています。&lt;br /&gt;
&lt;br /&gt;
OpenFOAMはOpenCFDによってGPLライセンスの下で配布されています。様々なLinuxや他のPOSIXシステムでのコンパイルに適したソースコードパッケージに加え、このリリースにはコンパイル済みのバイナリパッケージも多数あります。&lt;br /&gt;
&lt;br /&gt;
* Ubuntu Linux: Ubuntu 22.04(LTS)、20.04(LTS)、18.04(LTS)、23.04、22.10 用パッケージインストール&lt;br /&gt;
* openSUSE Linux: Leap15.5用パッケージインストール&lt;br /&gt;
* Redhat Linux: epel-9 用パッケージ・インストール; Fedora 37&lt;br /&gt;
&lt;br /&gt;
Windowsユーザーには、コンパイル済みパッケージについて3つの選択肢があります（詳細）：&lt;br /&gt;
&lt;br /&gt;
* Windows Subsystem for Linux（Ubuntu、openSUSEなどベース）を使用する。&lt;br /&gt;
* クロスコンパイルされたネイティブ実行ファイル&lt;br /&gt;
* docker インストール&lt;br /&gt;
&lt;br /&gt;
OpenFOAMのapptainerサポートは、事前にアセンブルされたイメージではなく、記述ファイルによって提供されます。&lt;br /&gt;
&lt;br /&gt;
* パッケージング/コンテナ参照&lt;br /&gt;
&lt;br /&gt;
Mac OSXユーザーは、ソースからコンパイルするか、Dockerコンテナを使ってコンパイル済みのパッケージを使用するオプションがあります（詳細）。&lt;br /&gt;
&lt;br /&gt;
== アップグレード ==&lt;br /&gt;
&lt;br /&gt;
=== 省略と削除 ===&lt;br /&gt;
&lt;br /&gt;
==== 境界条件 ====&lt;br /&gt;
exprFixed境界条件とexprMixed境界条件に、ランタイム非推奨の警告が表示されるようになりました。同じ機能（およびそれ以上）は、それぞれuniformFixedValue境界条件とuniformMixed境界条件で利用できます。&lt;br /&gt;
&lt;br /&gt;
=== 名前変更 ===&lt;br /&gt;
&lt;br /&gt;
=== ファンクションオブジェクト：patchPostProcessingとpatchParticleHistogram ===&lt;br /&gt;
ラグランジュ関数オブジェクトpatchPostProcessingとpatchParticleHistogramは、わかりやすさと理解を深めるために、それぞれparticlePostProcessingとparticleHistogramに名称が変更されました。&lt;br /&gt;
&lt;br /&gt;
=== 入力辞書 ===&lt;br /&gt;
不必要な丸め誤差や精度低下を避けるため、#calcと#evalの固定フォーマットと精度制限が削除された。式が評価される際の文字列展開がより一貫したものになるはずです。&lt;br /&gt;
&lt;br /&gt;
==== 表現 ====&lt;br /&gt;
&lt;br /&gt;
* パッチ式で、face()/area()と書く代わりに、normal()を使って単位法線を求めることができるようになりました。&lt;br /&gt;
&lt;br /&gt;
==== 関数オブジェクト: electricPotential ====&lt;br /&gt;
電場（E）の計算と出力は、以前のキーワード writeDerivedFields に代わって、オプションのキーワード electricField を使用することで有効または無効にすることができます。また、電場（E）の名前は、新しいキーワード E で指定できるようになりました。&lt;br /&gt;
&lt;br /&gt;
==== 関数オブジェクト: yPlus, wallShearStress ====&lt;br /&gt;
yPlusとwallShearStressの両方で、オプションのwriteFieldsフラグが追加され、ボリュームフィールドの出力を無効にできるようになりました。これは、ログに記録された情報のみに関心がある場合に、ディスク容量を節約し、速度を向上させるのに便利です。&lt;br /&gt;
&lt;br /&gt;
=== パラレル ===&lt;br /&gt;
&lt;br /&gt;
==== FOAM_IORANKSの柔軟な取り扱い ====&lt;br /&gt;
&lt;br /&gt;
* は、従来のOpenFOAMのリストと同様に、プレーンなリスト(スペースまたはカンマ区切り)も受け付けます。これにより、ジョブスクリプトでの引数の取り扱いが簡単になります。例えば&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
simpleFoam -ioRanks 0,4,8 ...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;対&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
simpleFoam -ioRanks '(0 4 8)'  ...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ホストごとにIOランクを選択することも可能である：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
simpleFoam -ioRanks host  ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== MPIスレッドのコマンドライン指定 ====&lt;br /&gt;
&lt;br /&gt;
* MPI_THREAD_MULTIPLE を持つことは、通常、パフォーマンス上好ましくないが、リンクされたライブラリがMPI_THREAD_MULTIPLE を期待する場合には必要な場合もある。mpi-threads コマンドラインオプションを使用すると、MPI_THREAD_MULTIPLE を明示的に指定することができます。&lt;br /&gt;
&lt;br /&gt;
==== parProfilingの詳細 ====&lt;br /&gt;
parProfilingは、より詳細な情報を得るために、異なるMPIオペレーションをより分離するようになった：&lt;br /&gt;
&lt;br /&gt;
* ブロードキャスト・タイムとリデュース／ギャザー／スキャッター・タイムを分離&lt;br /&gt;
* 一般的な待ち時間とすべての待ち時間の比較&lt;br /&gt;
* リクエストの時間/カウントを他のカウントと分離して、呼び出しカウントをサポートする（他のカウントがマスクされないようにするため）。&lt;br /&gt;
&lt;br /&gt;
=== 有限面積の改善 ===&lt;br /&gt;
最小エッジ長のチェックがより一貫性を持ち、小さなエッジの存在下でもロバスターとなった。2次元テンソルの逆変換の取り扱いが改善され，有限面積における最小二乗法がロバスターになった．&lt;br /&gt;
&lt;br /&gt;
=== メッシュ生成 ===&lt;br /&gt;
&lt;br /&gt;
==== makeFaMesh ====&lt;br /&gt;
スター &amp;quot;接続の中心や、パッチ面が実際にはバッフルであるために発生する、多重接続された有限面積のエッジを処理するためのヒューリスティックが追加された。&lt;br /&gt;
&lt;br /&gt;
直列の場合、これらの内部エッジはモデル化という点ではかなり疑わしいが、プロセッサーのドメインにまたがって分割されると、かなりの問題を引き起こす。接続性を一意に決定するのに十分な情報があるとは限らないが、エッジを結合するための何らかの救済措置はしばしば可能である。余分な &amp;quot;ぶら下がった &amp;quot;エッジは無視パッチに追いやられ、別々に扱われるようになります。&lt;br /&gt;
&lt;br /&gt;
これらのヒューリスティックは、遭遇したいくつかの問題を解決するものではあるが、さらなる研究が必要である。&lt;br /&gt;
&lt;br /&gt;
=== メッシュチェック／後処理 ===&lt;br /&gt;
&lt;br /&gt;
==== checkMesh ====&lt;br /&gt;
&lt;br /&gt;
* checkMeshとmakeFaMeshにグローバルトポロジーチェックを追加し、境界パッチがエッジ間で多重接続されている場合にそれを検出するようにした。&lt;br /&gt;
* checkMeshの新しい-write-edgesオプション：トポロジー的に問題のあるエッジをディスクに書き出すことができます。この新機能は有用な診断補助となります（特に、不正なエッジがあっても壊れにくい有限面積メッシュの場合）。&lt;br /&gt;
&lt;br /&gt;
==== foamToVTK ====&lt;br /&gt;
foamToVTKを-no-internalおよび-no-boundaryオプションで実行すると、フィールドの読み込みと報告がすべて抑制され、速度が大幅に向上する。&lt;br /&gt;
&lt;br /&gt;
フィールドを用いた通常の変換では、ロードされたボリュームフィールドは点補間で再利用するために一時的にキャッシュされる。これにより、入力IOが削減され、実行時間が改善される。&lt;br /&gt;
&lt;br /&gt;
== 前処理 ==&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMesh：過剰なバランシングの回避 ===&lt;br /&gt;
snappyHexMeshはセルを並列に精錬する際に自動的にメッシュのバランスを取ります。snappyHexMeshDict入力ファイルのcastellatedMeshControlsセクションの新しいコントロールはこの処理を調整するために使用することができます：&lt;br /&gt;
&lt;br /&gt;
* maxCellUnbalance : [オプション] 絶対的なアンバランス開始トリガー。セル数が少ない場合に、最初の洗練反復でバランシングを回避するために使用される。トリガー値はバランシングをスキップするために使用される：&lt;br /&gt;
** どのプロセッサでも、新しく追加されたセルの数 &amp;lt;= maxCellUnbalance の場合&lt;br /&gt;
** いずれかのプロセッサの場合：（プロセッサの新しいセル数 - 理想的なセル数） &amp;lt;= maxCellUnbalance&lt;br /&gt;
* balanceAtEnd : [オプション] maxCellUnbalanceエントリーがメッシュのアンバランスを引き起こす可能性があるため、メッシュが完全にリファインされた後に強制的にバランシングを行う。&lt;br /&gt;
* (existing) maxLoadUnbalance : ある程度のアンバランスを許容する。&lt;br /&gt;
&lt;br /&gt;
これらの追加制御を用いることで、コア数が多い場合、キャステレーション段階で大幅なスピードアップが実現した。なお、スナッピングとレイヤー追加フェーズは影響を受けない。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!607&lt;br /&gt;
&lt;br /&gt;
=== checkMeshの改良 ===&lt;br /&gt;
checkMeshは自動的にプロセッサ・パッチのレポートをフィルタリングしますが、そのプロパティは有用です。このリリースでは、プロセッサ・パッチのフィルタリングは並列実行のみに制限されています。&lt;br /&gt;
例として、シリアルで走る：&lt;br /&gt;
 &amp;lt;code&amp;gt;checkMesh -case processor0 -allTopology -allGeometry&amp;lt;/code&amp;gt;&lt;br /&gt;
報告：&lt;br /&gt;
 &amp;lt;code&amp;gt;Checking patch topology for multiply connected surfaces...&lt;br /&gt;
     Patch               Faces    Points     Surface topology  Bounding box&lt;br /&gt;
     front               2275     2399     ok (non-closed singly connected)   (-0.572 -1 0.007621454194) (-0.17456 1 0.02497405934)&lt;br /&gt;
     ..&lt;br /&gt;
     procBoundary0to1    101      204      ok (non-closed singly connected)   (-0.19184 -1 -0.008375915288) (-0.17456 1 0.008375915288)&lt;br /&gt;
     &amp;quot;.*&amp;quot;                4796     4798     ok (closed singly connected)       (-0.572 -1 -0.02497405934) (-0.17456 1 0.02497405934)&amp;lt;/code&amp;gt;&lt;br /&gt;
個々のプロセッサ境界のレポートに注意してください。これは、全体の境界面のエントリ（&amp;quot;.*&amp;quot;）にも含まれます。並列実行の場合、v2212と同様に、プロセッサパッチはリストと全体の境界面から除外されます。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_UTILITIES/mesh/manipulation/checkMesh&lt;br /&gt;
&lt;br /&gt;
Issue tracker&lt;br /&gt;
&lt;br /&gt;
* !698&lt;br /&gt;
&lt;br /&gt;
== 数値 ==&lt;br /&gt;
&lt;br /&gt;
=== finiteAreaの新しいキャッシュグラデーションメカニズム ===&lt;br /&gt;
もともと有限体積フレームワークで利用可能だった）勾配キャッシング・メカニズムが、有限面積フレームワークにも適用された。&lt;br /&gt;
有効にすると、従属フィールドが変更されたときにのみ勾配フィールドが計算され、後で再利用できるようにメッシュデータベースのメモリに保存されるため、追加コストのかかる再評価を省くことができます。&lt;br /&gt;
&lt;br /&gt;
system/faSolutionファイルでの使用例を以下に示す：&lt;br /&gt;
 &amp;lt;code&amp;gt;cache&lt;br /&gt;
 {&lt;br /&gt;
     grad(h);&lt;br /&gt;
     grad(Us);&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/finiteArea/finiteArea/gradSchemes/faGradScheme/faGradScheme.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!611&lt;br /&gt;
&lt;br /&gt;
=== 新しい並列プリコンディショナ ===&lt;br /&gt;
新しいプリコンディショナdistributedDILU, distributedDICは、DILU, DICプリコンディショナにRed-Black型の並列動作のバリエーションを追加したものである。これらの新しいプリコンディショナは、GAMGソルバーの最も粗いレベルを解くのに特に有用である：&lt;br /&gt;
 &amp;lt;code&amp;gt;p&lt;br /&gt;
 {&lt;br /&gt;
     solver          GAMG;&lt;br /&gt;
     // Explicit specify solver for coarse-level correction to override&lt;br /&gt;
     // preconditioner&lt;br /&gt;
     coarsestLevelCorr&lt;br /&gt;
     {&lt;br /&gt;
         solver          PCG;&lt;br /&gt;
         preconditioner  distributedDIC;&lt;br /&gt;
     }&lt;br /&gt;
 } &amp;lt;/code&amp;gt;&lt;br /&gt;
コア数が非常に大きい場合、スケーリングのボトルネックは、最も粗いレベルの解における大域的な削減となる可能性があり、分散プリコンディショナーは、（追加のハロースワップを犠牲にして）掃引量と削減量を減らすことができる。4096コアの大規模な場合：&lt;br /&gt;
&lt;br /&gt;
この性能上の利点は、タイミングに表れている：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!preconditioner&lt;br /&gt;
!Execution time&lt;br /&gt;
|-&lt;br /&gt;
|DIC&lt;br /&gt;
|8687s&lt;br /&gt;
|-&lt;br /&gt;
|distributedDIC&lt;br /&gt;
|6326s&lt;br /&gt;
|}&lt;br /&gt;
分散型プリコンディショナの使用は、一般に、計算が大域的なリダクションに束縛される場合にのみ意味を持つことに注意してください。非分散型と比較すると、ハロースイープを追加する代償として、CGスイープ回数（および削減回数）を減らすことができます。少ないコア数では、これは有益ではないかもしれない。CG掃引の回数がとにかく少ない場合、例えば相対公差で解く場合も同様です。&lt;br /&gt;
&lt;br /&gt;
同じ戦略は、他の結合境界条件、例えばサイクリック、サイクリックAMIにも適用できる。前方ループでは、'owner'パッチに対する'neighbor'の効果が含まれ、後方ループではその逆の効果が含まれます。これはcoupledスイッチで切り替えます（デフォルトはon）：&lt;br /&gt;
 &amp;lt;code&amp;gt;solver          PCG;&lt;br /&gt;
 preconditioner  distributedDIC;&lt;br /&gt;
 coupled         false;  // do not precondition across non-processor coupled&amp;lt;/code&amp;gt;&lt;br /&gt;
cyclicAMIの場合、2つのサイドが異なるプロセッサー上に排他的に存在するか、まったく分散されていない必要があるという制限がある。&lt;br /&gt;
&lt;br /&gt;
新しいプリコンディショナーは構築するのにかなりコストがかかるため、線形ソルバー内部にキャッシュされる。これは、GAMG内部の最も粗いレベルの補正ソルバーにのみ影響する。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/distributedDILUPreconditioner.H&lt;br /&gt;
* $FOAM_SRC/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/distributedDICPreconditioner.H&lt;br /&gt;
&lt;br /&gt;
References&lt;br /&gt;
&lt;br /&gt;
* Yousef Saad, Iterative Methods for Sparse Linear Systems (2nd edition)&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!608&lt;br /&gt;
&lt;br /&gt;
=== 新しいFPCG線形ソルバー ===&lt;br /&gt;
PCG線形ソルバーの新しいドロップイン代替であるFPCGは、1掃引あたりの削減回数を3回から2回に削減します。これにより、特にGAMG線形ソルバーで最も粗いレベルを解くときに、並列削減がボトルネックになる可能性のあるコア数が大きい場合に、並列スケーリングが改善されるはずです。&lt;br /&gt;
このソルバーは、リダクションの数と追加ストレージ/パイプライン量のトレードオフを提供します。これは、ハロースワップとリダクションをオーバーラップさせるPPCGソルバーと比較することができます（しかし、追加のストレージが必要です）。&lt;br /&gt;
&lt;br /&gt;
FPCGは、1つの余分なプリコンディショニングステップを必要とするため、より複雑なプリコンディショナー（例えばGAMG）にとってはあまり有益でない可能性があることに注意されたい。&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* OpenCFD would like to acknowledge and thank Alon Zameret of Toga Networks for providing the code and elaborate discussions.&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/matrices/lduMatrix/solvers/FPCG/FPCG.C&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!601&lt;br /&gt;
&lt;br /&gt;
=== テンソル反転の処理の改善 ===&lt;br /&gt;
テンソルの逆変換は、例えば最小二乗法計算に必要であり、テンソルの値が面内、例えば本質的に2Dである場合には特に厄介です。このような場合は、「安全な」逆変換アプローチによって処理されるようになり、擬似逆変換のようなコストのかかるオーバーヘッドなしにロバスト性が追加されます。この変更は、主にいくつかの有限面積スキームのロバスト性に影響します。&lt;br /&gt;
&lt;br /&gt;
=== メッシュセル/ポイント計算の改善（高速化） ===&lt;br /&gt;
セルからポイント、またはポイントからセルへのアドレッシングの情報は、異なるアルゴリズ ムに必要とされる。このタイプのアドレッシングは計算するのに比較的コストがかかるので、可能な限りキャッシュされ、不足するアドレッシングを導き出すために再利用される。&lt;br /&gt;
これは通常1回限りのコストであるが、キャッシュされた値を無効にするようなトポロジーの変更を伴うメッシュでは、より大きな要因になる可能性がある。アドレッシングを再構築するための更新されたアプローチは、速度を1.4倍から2.4倍に向上させる。&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* OpenCFD would like to acknowledge and thank Toga Networks for providing the code and elaborate discussions.&lt;br /&gt;
* issue 2715&lt;br /&gt;
* MR!596&lt;br /&gt;
&lt;br /&gt;
== ソルバーと物理モデル ==&lt;br /&gt;
&lt;br /&gt;
=== 改良されたvanDriest LESデルタモデル ===&lt;br /&gt;
vanDriest LESデルタモデルでは、最も近い壁の特性（y*）が局所的な長さスケールを計算するために使用されます。以前のリリースでは、これらの壁のプロパティは、壁の距離（meshWave）を計算するために同じメカニズムを使用して輸送されていました。このリリースでは、アドレッシングは一度計算され、最も近い壁の情報を直接取得できるようにキャッシュされます。これにより、（余分なストレージを必要としますが）大きなメッシュで非常に大きなスピードアップが得られます。さらに、同じアドレッシングは、fvSchemesの新しいmeshWaveAddressing wallDistメソッドを使用して、壁の距離自体にも使用できます：&lt;br /&gt;
 &amp;lt;code&amp;gt;wallDist&lt;br /&gt;
 {&lt;br /&gt;
     method meshWaveAddressing;&lt;br /&gt;
 &lt;br /&gt;
     // Fetch the nearest wall normal&lt;br /&gt;
     nRequired       true;&lt;br /&gt;
 &lt;br /&gt;
     // Optional entry delaying wall distance update to every n steps&lt;br /&gt;
     // Default is 1 (update every step)&lt;br /&gt;
     updateInterval 5;&lt;br /&gt;
 } &amp;lt;/code&amp;gt;&lt;br /&gt;
次の画像は、ExaFoamプロジェクトの一環として実証された、これらの改善による強力なスケーリング性能を示している：&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/TurbulenceModels/turbulenceModels/LES/LESdeltas/vanDriestDelta&lt;br /&gt;
&lt;br /&gt;
Resolved bugs&lt;br /&gt;
&lt;br /&gt;
* !2648&lt;br /&gt;
&lt;br /&gt;
=== 新しいラグランジュ粒子力 クーロン ===&lt;br /&gt;
新しいクーロン有限体積オプション(fvOption)は、電場を評価するためのelectricPotential関数オブジェクトの本質的な基礎的な変更とともに、直径に基づいて粒子に作用する静電気力のモデルを提供します。カップリングは現在一方通行です。&lt;br /&gt;
最低限の使用例を以下に示す：&lt;br /&gt;
 &amp;lt;code&amp;gt;subModels&lt;br /&gt;
 {&lt;br /&gt;
     solution&lt;br /&gt;
     {&lt;br /&gt;
         interpolationSchemes&lt;br /&gt;
         {&lt;br /&gt;
             &amp;lt;Ename&amp;gt;      &amp;lt;interpolationScheme&amp;gt;;  // Electric field name&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     particleForces&lt;br /&gt;
     {&lt;br /&gt;
         Coulomb&lt;br /&gt;
         {&lt;br /&gt;
             q       &amp;lt;Function1&amp;lt;scalar&amp;gt;&amp;gt;;  // Electric charge of particles&lt;br /&gt;
             E       &amp;lt;word&amp;gt;;               // Electric field&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Coulomb&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!602&lt;br /&gt;
&lt;br /&gt;
=== 新しいfvOption：fanMomentumSource ===&lt;br /&gt;
新しいfanMomentumSource有限体積オプション（fvOption）は、流れに対するファンの作用を表現する運動量ソースを追加します。&lt;br /&gt;
まず、セルゾーンを囲む上流側の面を通過する流量が計算される。上流側の面は流れ方向と周囲の面ゾーンを用いて自動的に決定される。続いて、流量の関数としてのファン圧力曲線とファン（測定部）の厚さから圧力勾配を求める。&lt;br /&gt;
&lt;br /&gt;
最小限の使用例は以下の通り：&lt;br /&gt;
 &amp;lt;code&amp;gt;fan&lt;br /&gt;
 {&lt;br /&gt;
     // Mandatory entries&lt;br /&gt;
     type                fanMomentumSource;&lt;br /&gt;
     fanCurve            &amp;lt;Function1&amp;lt;scalar&amp;gt;&amp;gt;;&lt;br /&gt;
     flowDir             &amp;lt;vector&amp;gt;;&lt;br /&gt;
     thickness           &amp;lt;scalar&amp;gt;;&lt;br /&gt;
     cellZone            &amp;lt;word&amp;gt;;&lt;br /&gt;
     faceZone            &amp;lt;word&amp;gt;;&lt;br /&gt;
 &lt;br /&gt;
     // Optional entries&lt;br /&gt;
     gradient            &amp;lt;scalar&amp;gt;;&lt;br /&gt;
     rho                 &amp;lt;scalar&amp;gt;;&lt;br /&gt;
     U                   &amp;lt;word&amp;gt;;&lt;br /&gt;
 &lt;br /&gt;
     // Inherited entries&lt;br /&gt;
     selectionMode       &amp;lt;word&amp;gt;;&lt;br /&gt;
     ...&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/fvOptions/sources/derived/fanMomentumSource&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!604&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* OpenCFD would like to acknowledge and thank Vuko Vukcevic of SimScale GmbH for providing the code and elaborate discussions.&lt;br /&gt;
&lt;br /&gt;
=== 新しい fvOption: limitTurbulenceViscosity。 ===&lt;br /&gt;
新しいlimitTurbulenceViscosity有限体積オプション(fvOption)は、計算の安定性を高める乱流粘度nutを制限するメカニズムを提供します。&lt;br /&gt;
乱流粘性場は、層流粘性に係数を乗じた上限値を適用することで、指定された領域内で補正される：&lt;br /&gt;
&lt;br /&gt;
最小限の使用例は以下の通り：&lt;br /&gt;
 &amp;lt;code&amp;gt;limitTurbulenceViscosity1&lt;br /&gt;
 {&lt;br /&gt;
     // Mandatory entries&lt;br /&gt;
     type            limitTurbulenceViscosity;&lt;br /&gt;
 &lt;br /&gt;
     // Optional entries&lt;br /&gt;
     nut             nut;&lt;br /&gt;
     c               1e5;&lt;br /&gt;
 &lt;br /&gt;
     // Inherited entries&lt;br /&gt;
     ...&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/fvOptions/corrections/limitTurbulenceViscosity&lt;br /&gt;
&lt;br /&gt;
=== 改良された剛体運動拘束：軸 ===&lt;br /&gt;
軸拘束は、ボディが固定軸の周りにしか回転できないような方向制限を課します。これは、例えばバタフライバルブをモデル化するために、最小回転角度と最大回転角度を追加することで強化されました。&lt;br /&gt;
さらに、すべての剛体運動制約がランタイムで調整可能になった。&lt;br /&gt;
&lt;br /&gt;
最小限の使用例は以下の通り：&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;code&amp;gt;constraints&lt;br /&gt;
 {&lt;br /&gt;
     constrainRotation1&lt;br /&gt;
     {&lt;br /&gt;
         sixDoFRigidBodyMotionConstraint     axis;&lt;br /&gt;
         axis                                &amp;lt;vector&amp;gt;;&lt;br /&gt;
 &lt;br /&gt;
         // Optional entries&lt;br /&gt;
         maxClockwiseTheta                   &amp;lt;Function1&amp;lt;scalar&amp;gt;&amp;gt;;&lt;br /&gt;
         maxCounterclockwiseTheta            &amp;lt;Function1&amp;lt;scalar&amp;gt;&amp;gt;;&lt;br /&gt;
         thetaUnits                          &amp;lt;word&amp;gt;;&lt;br /&gt;
         referenceOrientation                &amp;lt;tensor&amp;gt;;&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/axis&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!613&lt;br /&gt;
&lt;br /&gt;
== 境界条件 ==&lt;br /&gt;
&lt;br /&gt;
==== 新しい境界条件：鏡面放射 ====&lt;br /&gt;
fvDOM放射モデルは、新しいspecularRadiation境界条件を使用して、軸対称および対称面セットアップに適用できるようになりました。&lt;br /&gt;
この境界条件の最小限の例を以下に示す：&lt;br /&gt;
 &amp;lt;code&amp;gt;{&lt;br /&gt;
     // Mandatory entries&lt;br /&gt;
     type                specularRadiation;&lt;br /&gt;
 &lt;br /&gt;
     // Optional entries&lt;br /&gt;
     interpolate         &amp;lt;bool&amp;gt;;&lt;br /&gt;
 &lt;br /&gt;
     // Inherited entries&lt;br /&gt;
     patchType           &amp;lt;word&amp;gt;;&lt;br /&gt;
     ...&lt;br /&gt;
 } &amp;lt;/code&amp;gt;&lt;br /&gt;
下図は、4つの異なる形状の内部無次元入射放射の観点から条件を検証したものである：&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/thermophysicalModels/radiation/derivedFvPatchFields/specularRadiation&lt;br /&gt;
&lt;br /&gt;
References&lt;br /&gt;
&lt;br /&gt;
* Standard model:&lt;br /&gt;
** Kumar, P., &amp;amp; Eswaran, V. (2013). A methodology to solve 2D and axisymmetric radiative transfer problems using a general 3D solver. Journal of heat transfer, 135(12). DOI:10.1115/1.4024674&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!610&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* OpenCFD would like to acknowledge and thank Hitachi Energy for sponsoring the development, and Bernardo Galletti and Marcelo Buffoni for elaborate discussions.&lt;br /&gt;
&lt;br /&gt;
=== 新ユニフォーム混合コンディション ===&lt;br /&gt;
新しいuniformMixed境界条件は、既存のuniformFixedValue境界条件とuniformFixedGradient境界条件を補完するものです。&lt;br /&gt;
この条件は混合境界条件を定義するために使用され、値を定義するために関数を使用する。&lt;br /&gt;
 &amp;lt;code&amp;gt;{&lt;br /&gt;
     type            uniformMixed;&lt;br /&gt;
     uniformValue    constant 0.2;&lt;br /&gt;
     uniformGradient constant 0.2;&lt;br /&gt;
     uniformValueFraction&lt;br /&gt;
     {&lt;br /&gt;
         type  sine;&lt;br /&gt;
         ...&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
しかし、境界条件は遅延定義を許可しているため、uniformValueまたはuniformGradientの一方だけを定義し、他のエントリーを暗黙的に定義することも可能である。&lt;br /&gt;
&lt;br /&gt;
uniformMixedで使用される関数には式も含まれるため、この新しい境界条件は、将来非推奨となり削除される既存のexprMixed境界条件のより柔軟な形として使用することができる。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/finiteArea/fields/faPatchFields/derived/uniformMixed&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/U&lt;br /&gt;
&lt;br /&gt;
=== 新しい有限領域境界条件 ===&lt;br /&gt;
有限面積計算でuniformFixedValue、uniformFixedGradient、uniformMixed境界条件が使用できるようになりました。&lt;br /&gt;
これらの境界条件はFinite Areaに関数と式のサポートを追加します。timeVaryingUniformFixedValue境界条件は非推奨となり、将来削除される予定です。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/finiteArea/fields/faPatchFields/derived/uniformFixedValue&lt;br /&gt;
* $FOAM_SRC/finiteArea/fields/faPatchFields/derived/uniformFixedGradient&lt;br /&gt;
* $FOAM_SRC/finiteArea/fields/faPatchFields/derived/uniformMixed&lt;br /&gt;
&lt;br /&gt;
== 後処理 ==&lt;br /&gt;
&lt;br /&gt;
=== ラグランジュ関数オブジェクトの改良 ===&lt;br /&gt;
ラグランジアン・クラウド・ファンクション・オブジェクトは複数のアップデートを受けた：&lt;br /&gt;
&lt;br /&gt;
* patchPostProcessingとpatchParticleHistogramは、それぞれの機能をよりよく反映させるために、それぞれparticlePostProcessingとparticleHistogramという名前に変更されました；&lt;br /&gt;
* writeFileサポートが追加され、ファイル出力の制御が改善された。&lt;br /&gt;
* faceZoneのサポートが追加され、パーティクル収集のコントロールが向上しました。&lt;br /&gt;
&lt;br /&gt;
最低限の使用例を以下に示す：&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;code&amp;gt;ParticlePostProcessing1&lt;br /&gt;
 {&lt;br /&gt;
     // Mandatory entries&lt;br /&gt;
     type                 particlePostProcessing;&lt;br /&gt;
     maxStoredParcels     &amp;lt;scalar&amp;gt;;&lt;br /&gt;
 &lt;br /&gt;
     // Optional entries&lt;br /&gt;
     fields               (&amp;lt;wordRes&amp;gt;);&lt;br /&gt;
 &lt;br /&gt;
     // Conditional entries&lt;br /&gt;
 &lt;br /&gt;
         // Option-1&lt;br /&gt;
         patches          (&amp;lt;wordRes&amp;gt;);&lt;br /&gt;
 &lt;br /&gt;
         // Option-2&lt;br /&gt;
         faceZones        (&amp;lt;wordRes&amp;gt;);&lt;br /&gt;
 &lt;br /&gt;
     // Inherited entries&lt;br /&gt;
     // writeFile entries&lt;br /&gt;
     ...&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 particleHistogram1&lt;br /&gt;
 {&lt;br /&gt;
     // Mandatory entries&lt;br /&gt;
     type                 particleHistogram;&lt;br /&gt;
     nBins                &amp;lt;label&amp;gt;;&lt;br /&gt;
     min                  &amp;lt;scalar&amp;gt;;&lt;br /&gt;
     max                  &amp;lt;scalar&amp;gt;;&lt;br /&gt;
     maxStoredParcels     &amp;lt;scalar&amp;gt;;&lt;br /&gt;
 &lt;br /&gt;
     // Conditional entries&lt;br /&gt;
 &lt;br /&gt;
         // Option-1&lt;br /&gt;
         patches          (&amp;lt;wordRes&amp;gt;);&lt;br /&gt;
 &lt;br /&gt;
         // Option-2&lt;br /&gt;
         faceZones        (&amp;lt;wordRes&amp;gt;);&lt;br /&gt;
 &lt;br /&gt;
     // Inherited entries&lt;br /&gt;
     // writeFile entries&lt;br /&gt;
     ...&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleHistogram&lt;br /&gt;
* $FOAM_SRC/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticlePostProcessing&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!595&lt;br /&gt;
&lt;br /&gt;
=== 改良されたファンクション・オブジェクト：力とforceCoeffs ===&lt;br /&gt;
力とforceCoeffs関数オブジェクトは、実行時間を短縮するために最適化されました。&lt;br /&gt;
テストによると、以前は複数の力とforceCoeffs関数オブジェクトを使用すると、主に速度勾配の計算とさまざまな内部フィールドに対して実行される冗長な計算が原因で、総実行時間が2～10％の範囲でスローダウンしていた。&lt;br /&gt;
&lt;br /&gt;
例えば、simpleCarチュートリアルのテストでは、速度勾配をキャッシュすることで補完した場合、力関数オブジェクトの実行時間が約3分の1に短縮されることが実証された。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/forces/forces&lt;br /&gt;
* $FOAM_SRC/functionObjects/forces/forceCoeffs&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!598&lt;br /&gt;
&lt;br /&gt;
== パラレル ==&lt;br /&gt;
&lt;br /&gt;
=== parProfiling 関数オブジェクトの改良 ===&lt;br /&gt;
並列プロファイリング関数オブジェクト parProfiling の拡張により、プロファイリングを線形ソルバーに制限することができます。この関数オブジェクトは，controlDictで次のように指定します．&lt;br /&gt;
 &amp;lt;code&amp;gt;functions&lt;br /&gt;
 {&lt;br /&gt;
     // Run parProfiling&lt;br /&gt;
     profiling&lt;br /&gt;
     {&lt;br /&gt;
         libs    (utilityFunctionObjects);&lt;br /&gt;
         #includeEtc &amp;quot;caseDicts/profiling/parallel.cfg&amp;quot;&lt;br /&gt;
         detail  2;&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
これは、fvSolutionファイル内の新しいparProfilingラッパー・ソルバーの形をとります：&lt;br /&gt;
 &amp;lt;code&amp;gt;solvers&lt;br /&gt;
 {&lt;br /&gt;
     p&lt;br /&gt;
     {&lt;br /&gt;
         solver          parProfiling;&lt;br /&gt;
         baseSolver      PCG;&lt;br /&gt;
         preconditioner  DIC;&lt;br /&gt;
         tolerance       1e-06;&lt;br /&gt;
         relTol          0.05;&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
上記の例では、PCG線形ソルバーに対してのみparProfiling関数オブジェクトを有効にしています。この拡張は、GAMGソルバー内の最も粗いレベルの線形ソルバーの効果を見るときに特に便利です。&lt;br /&gt;
&lt;br /&gt;
典型的な出力だ：&lt;br /&gt;
 &amp;lt;code&amp;gt;parProfiling:&lt;br /&gt;
     reduce    : avg = 72.7133s&lt;br /&gt;
                 min = 2.37s (processor 0)&lt;br /&gt;
                 max = 88.29s (processor 4)&lt;br /&gt;
     all-all   : avg = 14.9633s&lt;br /&gt;
                 min = 11.04s (processor 5)&lt;br /&gt;
                 max = 17.18s (processor 4)&amp;lt;/code&amp;gt;&lt;br /&gt;
例えば、20台のプロセッサーを使ったキャビティ・リッド・ドライブ・チュートリアルのように、異なる線形ソルバーの効果を調べるには、両方を組み合わせることが非常に有効です：&lt;br /&gt;
&lt;br /&gt;
PCG の parProfiling 出力：&lt;br /&gt;
 &amp;lt;code&amp;gt;reduce    : ..&lt;br /&gt;
     ..&lt;br /&gt;
     counts  20(14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875)&amp;lt;/code&amp;gt;&lt;br /&gt;
FPCG の parProfiling 出力：&lt;br /&gt;
 &amp;lt;code&amp;gt;reduce    : ..&lt;br /&gt;
     ..&lt;br /&gt;
     counts  20(11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914)&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/utilities/parProfiling/parProfilingSolver.H&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/IO/cavity_parProfiling&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!603&lt;br /&gt;
&lt;br /&gt;
=== スコッチ - マルチレベル分解をサポート ===&lt;br /&gt;
multiLevel分解法は、ノード内（より高速な通信を使用）よりもノード間カット（低速な通信を使用）の量を優先的に制限するために使用することができる。この機能は、重みのセットを指定することで、スコッチ（ptscotchではない）分解法にネイティブに存在するようになった：&lt;br /&gt;
 &amp;lt;code&amp;gt;method              scotch;&lt;br /&gt;
 numberOfSubdomains  2048;&lt;br /&gt;
 coeffs&lt;br /&gt;
 {&lt;br /&gt;
     // Divide into 64 nodes, each of 32 cores&lt;br /&gt;
     domains (64 32);&lt;br /&gt;
     // Inside a nodes the communication weight is 1% of that inbetween nodes&lt;br /&gt;
     domainWeights (1 0.01);&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
あるいは、そのレベルの重みを1として、第1レベルの分解を省略することもできる：&lt;br /&gt;
 &amp;lt;code&amp;gt;method              scotch;&lt;br /&gt;
 numberOfSubdomains  2048;&lt;br /&gt;
 coeffs&lt;br /&gt;
 {&lt;br /&gt;
     // Divide into 2048/32=64 nodes&lt;br /&gt;
     domains (32);&lt;br /&gt;
     // Inside a node the communication weight is 1% of that inbetween nodes&lt;br /&gt;
     domainWeights (0.01);&lt;br /&gt;
 } &amp;lt;/code&amp;gt;&lt;br /&gt;
下の画像は、20x20の単純なメッシュを32分割したものである：&lt;br /&gt;
&lt;br /&gt;
マルチレベル・メソッドと比較すると、次のようになる。&lt;br /&gt;
&lt;br /&gt;
* multiLevelサブセットは、各第1レベルの分解を第2レベルに分解する。セル数が多くなると、これがボトルネックになる。&lt;br /&gt;
* multiLevelメソッドで時々起こるような、過剰な数のプロセッサ・パッチを作成することを避けることができる。&lt;br /&gt;
&lt;br /&gt;
残念なことに、この機能は外部のptscotchライブラリには実装されていない。いったん利用できるようになれば、ptscotch分解メソッドに追加するのは簡単だ。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/parallel/decompose/scotchDecomp/scotchDecomp.C&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!599&lt;br /&gt;
&lt;br /&gt;
=== ノンブロッキング線形ソルバー ===&lt;br /&gt;
並列で実行する場合、線形ソルバーは、受信したデータを使用して境界条件（'インターフェース'）を更新する前に、すべての通信が終了するのを待ちます。このため、通信の1つが他の通信より遅い場合、ボトルネックになることがあります。例えば、接続が遅い、インターフェイスの面が多いなどです。&lt;br /&gt;
これを避けるために、インターフェイスのポーリングを有効にし、インターフェイスが 「ready」になったときにインターフェイスの更新を実行するnPollProcInterfaces最適化スイッチが導入された。このスイッチは、一定の反復回数（その後にブロッキング待ちが続く）か、ポーリングのみの場合は「-1」（新機能）である：&lt;br /&gt;
&lt;br /&gt;
etc/controlDictまたはローカルシステム/controlDictで、nPollProcInterfacesを-1に設定する：&lt;br /&gt;
 &amp;lt;code&amp;gt;OptimisationSwitches&lt;br /&gt;
 {&lt;br /&gt;
     // Fixed or infinite (-1) number of polling iterations&lt;br /&gt;
     nPollProcInterfaces -1;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
一般論として：&lt;br /&gt;
&lt;br /&gt;
* 十分なローカルワークがある場合、つまりプロセッサインターフェースの解を追加する場合、通信とオーバーラップさせることに意味がある場合に使用する。GAMGの最も粗いレベルでは、これは当てはまらない。&lt;br /&gt;
* プロセッサ・インターフェースの最小サイズと最大サイズ、つまり面の数に大きな差がある場合に使用する。これは、幾何学的分解法などではあり得るが、スコッチなどの位相分解法では一般的ではない。&lt;br /&gt;
&lt;br /&gt;
大きな欠点は、解の追加順序が非決定的になり、例えば、pitzDaily非圧縮チュートリアルを（悪い）ソルバーの組み合わせで実行すると、切り捨て誤差に影響することです：&lt;br /&gt;
 &amp;lt;code&amp;gt;p&lt;br /&gt;
 {&lt;br /&gt;
     solver          PCG;&lt;br /&gt;
     preconditioner  diagonal;&lt;br /&gt;
 &lt;br /&gt;
     tolerance       1e-06;&lt;br /&gt;
     relTol          0.1;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
は、100回の繰り返しで顕著な解の違いを生み出す：&lt;br /&gt;
&lt;br /&gt;
* ポーリングなし:&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;code&amp;gt;diagonalPCG:  Solving for p, Initial residual = 0.012452, Final residual = 0.0012432, No Iterations 162&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ポーリング:&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;code&amp;gt;diagonalPCG:  Solving for p, Initial residual = 0.012544, Final residual = 0.0012536, No Iterations 301&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== マスターコースター凝集の改善 ===&lt;br /&gt;
多くのコアでGAMGを実行する場合、PCGなどの最も粗いレベルのソルバーがスケーリングのボトルネックになる可能性があります。これを回避する1つの方法は、粗いレベルの行列をより少ない、あるいは1つのプロセッサに集約することです。これは、プロセッサの行列を集めて、プロセッサ間の境界をすべて内部の面に置き換えた、単一の大きな行列を作成するものです。これにより、通信は回避されるが、この凝集行列を解くプロセッサの計算コストが増加する。例えば、元の凝集が10000個のプロセッサで1セルまでだった場合、凝集した行列は少なくとも10000個のセルを持つことになり、これを解くことがボトルネックになる可能性がある。&lt;br /&gt;
この開発では、masterCoarsestプロセッサーのアグロメレーションは、ローカルアグロメレーションを再スタートして、10000セルをより少ないセルに戻すことができる。この新しい動作はfvSolutionの新しいパラメータnCellsInMasterLevelによってトリガーされる。&lt;br /&gt;
 &amp;lt;code&amp;gt;p&lt;br /&gt;
 {&lt;br /&gt;
     solver          GAMG;&lt;br /&gt;
     ..&lt;br /&gt;
     smoother        GaussSeidel;&lt;br /&gt;
 &lt;br /&gt;
     //- Local agglomeration parameters&lt;br /&gt;
     nCellsInCoarsestLevel   1;&lt;br /&gt;
 &lt;br /&gt;
     //- Processor-agglomeration parameters&lt;br /&gt;
     processorAgglomerator   masterCoarsest;&lt;br /&gt;
     //- Optionally agglomerate after processor-agglomeration&lt;br /&gt;
     nCellsInMasterLevel     1;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 結果 ====&lt;br /&gt;
単純なテストケースとして、pitzDailyチュートリアルを15プロセッサで並列実行するように修正しました（分解方法としてscotchを使用）。masterCoarsestを使用し、凝集の再起動を行わない場合、最初の反復は次のようになります。&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;code&amp;gt;DICPCG:  Solving for coarsestLevelCorr, Initial residual = 1, Final residual = 0.0788583, No Iterations 6&lt;br /&gt;
 DICPCG:  Solving for coarsestLevelCorr, Initial residual = 1, Final residual = 0.0150588, No Iterations 6&lt;br /&gt;
 ..&lt;br /&gt;
 DICPCG:  Solving for coarsestLevelCorr, Initial residual = 1, Final residual = 0.0105486, No Iterations 6&lt;br /&gt;
 GAMG:  Solving for p, Initial residual = 1, Final residual = 0.0759038, No Iterations 24&amp;lt;/code&amp;gt;&lt;br /&gt;
nCellsInMasterLevel 1：&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;code&amp;gt;DICPCG:  Solving for coarsestLevelCorr, Initial residual = 1, Final residual = 0, No Iterations 1&lt;br /&gt;
 DICPCG:  Solving for coarsestLevelCorr, Initial residual = 1, Final residual = 1.11661e-16, No Iterations 1&lt;br /&gt;
 ..&lt;br /&gt;
 DICPCG:  Solving for coarsestLevelCorr, Initial residual = 1, Final residual = 0, No Iterations 1&lt;br /&gt;
 GAMG:  Solving for p, Initial residual = 1, Final residual = 0.0799836, No Iterations 24&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/masterCoarsestGAMGProcAgglomeration/masterCoarsestGAMGProcAgglomeration.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!600&lt;br /&gt;
&lt;br /&gt;
=== 並列（MPI）処理の全般的な変更 ===&lt;br /&gt;
最近のexaFOAMの活動から得られた知見により、OpenFOAMのPstreamライブラリ（MPIインターフェース）の低レベルの改良と、コードベース全体の通信ボトルネックを低減するためのアルゴリズムとコードの変更が多数行われました。しかし、これらの変更のほとんどは、大規模シミュレーションにおいてのみ効果が現れます。アルゴリズムの変更の一部は*プレビュー*の変更とみなされるため、デフォルトでは有効ではなく、設定スイッチによって有効になります。&lt;br /&gt;
コード開発者向けに、MPIリクエストとコミュニケータの取り扱いが拡張され、独自の並列アルゴリズムを書く際に、より柔軟に対応できるようになりました。ノンブロッキングコンセンサス交換(NBX)を使ったサイズ交換の取り扱いが、 全対全交換のドロップイン置き換えとして提供されます。&lt;br /&gt;
&lt;br /&gt;
== ユーザビリティ ==&lt;br /&gt;
&lt;br /&gt;
=== 新しい文書システム ===&lt;br /&gt;
以前の拡張コードガイドはDoxygenベースのシステムからnanocベースのシステム（Gitlab.comで使われているのと同じシステム）に移行され、コミュニティ貢献のために公開されました。新しいコンテンツはhttps://doc.openfoam.com：&lt;br /&gt;
&lt;br /&gt;
* v2306: &amp;lt;nowiki&amp;gt;https://doc.openfoam.com/2306/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* v2212: &amp;lt;nowiki&amp;gt;https://doc.openfoam.com/2212/&amp;lt;/nowiki&amp;gt; (old release)&lt;br /&gt;
&lt;br /&gt;
このサイトは新しいルック＆フィールで、クイックスタート、多くの新しい境界条件、熱物理モデル、ノイズを含むツールなど、大幅なコンテンツ更新が行われた！&lt;br /&gt;
&lt;br /&gt;
コンテンツはhttps://gitlab.com/openfoam/documentation。継続的に進化しており、さらなるアップデートが予定されている。&lt;br /&gt;
&lt;br /&gt;
プルリクエストも喜んでお受けします！&lt;br /&gt;
=== 表現の変更 ===&lt;br /&gt;
式の評価関数にnormal()が追加されました。これはメッシュ面の単位法線を返すもので、face()/area()より少ない操作でよりロバストなものとなります。&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2306%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=833</id>
		<title>OpenFOAM v2306リリースノート</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2306%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=833"/>
		<updated>2023-09-09T09:06:53Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: /* Upgrading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenCFD is pleased to announce the June 2023 release of OpenFOAM® v2306. This release extends OpenFOAM-v2212 features across many areas of the code. The new functionality represents development sponsored by OpenCFD's customers, internally funded developments, and integration of features and changes from the OpenFOAM community.&lt;br /&gt;
&lt;br /&gt;
OpenFOAM is distributed by OpenCFD under the GPL License. In addition to source code packages suitable for compilation on a variety of Linux and other POSIX systems, this release also has a number of pre-compiled binary packages&lt;br /&gt;
&lt;br /&gt;
* Ubuntu Linux: packaged installation for Ubuntu 22.04 (LTS), 20.04 (LTS), 18.04 (LTS), 23.04, 22.10&lt;br /&gt;
* openSUSE Linux: packaged installation for Leap15.5&lt;br /&gt;
* Redhat Linux variants: packaged installation for epel-9; Fedora 37&lt;br /&gt;
&lt;br /&gt;
Windows users have three options for pre-compiled packages (more information):&lt;br /&gt;
&lt;br /&gt;
* Using Windows Subsystem for Linux (based on Ubuntu, openSUSE etc.)&lt;br /&gt;
* Native executables with cross-compiled&lt;br /&gt;
* A docker installation&lt;br /&gt;
&lt;br /&gt;
OpenFOAM apptainer support is provided via description files rather than pre-assembled images&lt;br /&gt;
&lt;br /&gt;
* See packaging/containers&lt;br /&gt;
&lt;br /&gt;
Mac OSX users have the option to compile from source, or use Docker containers for pre-compiled packages (more information).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenCFDは、OpenFOAM® v2306の2023年6月リリースを発表します。このリリースは、コードの多くの領域にわたってOpenFOAM-v2212の機能を拡張しています。この新機能は、OpenCFDの顧客からのスポンサーによる開発、内部資金による開発、OpenFOAMコミュニティからの機能や変更の統合を表しています。&lt;br /&gt;
&lt;br /&gt;
OpenFOAMはOpenCFDによってGPLライセンスの下で配布されています。様々なLinuxや他のPOSIXシステムでのコンパイルに適したソースコードパッケージに加え、このリリースにはコンパイル済みのバイナリパッケージも多数あります。&lt;br /&gt;
&lt;br /&gt;
* Ubuntu Linux: Ubuntu 22.04(LTS)、20.04(LTS)、18.04(LTS)、23.04、22.10 用パッケージインストール&lt;br /&gt;
* openSUSE Linux: Leap15.5用パッケージインストール&lt;br /&gt;
* Redhat Linux: epel-9 用パッケージ・インストール; Fedora 37&lt;br /&gt;
&lt;br /&gt;
Windowsユーザーには、コンパイル済みパッケージについて3つの選択肢があります（詳細）：&lt;br /&gt;
&lt;br /&gt;
* Windows Subsystem for Linux（Ubuntu、openSUSEなどベース）を使用する。&lt;br /&gt;
* クロスコンパイルされたネイティブ実行ファイル&lt;br /&gt;
* docker インストール&lt;br /&gt;
&lt;br /&gt;
OpenFOAMのapptainerサポートは、事前にアセンブルされたイメージではなく、記述ファイルによって提供されます。&lt;br /&gt;
&lt;br /&gt;
* パッケージング/コンテナ参照&lt;br /&gt;
&lt;br /&gt;
Mac OSXユーザーは、ソースからコンパイルするか、Dockerコンテナを使ってコンパイル済みのパッケージを使用するオプションがあります（詳細）。&lt;br /&gt;
&lt;br /&gt;
== アップグレード ==&lt;br /&gt;
&lt;br /&gt;
=== 省略と削除 ===&lt;br /&gt;
&lt;br /&gt;
==== 境界条件 ====&lt;br /&gt;
exprFixed境界条件とexprMixed境界条件に、ランタイム非推奨の警告が表示されるようになりました。同じ機能（およびそれ以上）は、それぞれuniformFixedValue境界条件とuniformMixed境界条件で利用できます。&lt;br /&gt;
&lt;br /&gt;
=== 名前変更 ===&lt;br /&gt;
&lt;br /&gt;
=== ファンクションオブジェクト：patchPostProcessingとpatchParticleHistogram ===&lt;br /&gt;
ラグランジュ関数オブジェクトpatchPostProcessingとpatchParticleHistogramは、わかりやすさと理解を深めるために、それぞれparticlePostProcessingとparticleHistogramに名称が変更されました。&lt;br /&gt;
&lt;br /&gt;
=== 入力辞書 ===&lt;br /&gt;
不必要な丸め誤差や精度低下を避けるため、#calcと#evalの固定フォーマットと精度制限が削除された。式が評価される際の文字列展開がより一貫したものになるはずです。&lt;br /&gt;
&lt;br /&gt;
==== 表現 ====&lt;br /&gt;
&lt;br /&gt;
* パッチ式で、face()/area()と書く代わりに、normal()を使って単位法線を求めることができるようになりました。&lt;br /&gt;
&lt;br /&gt;
==== 関数オブジェクト: electricPotential ====&lt;br /&gt;
電場（E）の計算と出力は、以前のキーワード writeDerivedFields に代わって、オプションのキーワード electricField を使用することで有効または無効にすることができます。また、電場（E）の名前は、新しいキーワード E で指定できるようになりました。&lt;br /&gt;
&lt;br /&gt;
==== 関数オブジェクト: yPlus, wallShearStress ====&lt;br /&gt;
yPlusとwallShearStressの両方で、オプションのwriteFieldsフラグが追加され、ボリュームフィールドの出力を無効にできるようになりました。これは、ログに記録された情報のみに関心がある場合に、ディスク容量を節約し、速度を向上させるのに便利です。&lt;br /&gt;
&lt;br /&gt;
=== パラレル ===&lt;br /&gt;
&lt;br /&gt;
==== FOAM_IORANKSの柔軟な取り扱い ====&lt;br /&gt;
&lt;br /&gt;
* は、従来のOpenFOAMのリストと同様に、プレーンなリスト(スペースまたはカンマ区切り)も受け付けます。これにより、ジョブスクリプトでの引数の取り扱いが簡単になります。例えば&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
simpleFoam -ioRanks 0,4,8 ...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;対&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
simpleFoam -ioRanks '(0 4 8)'  ...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ホストごとにIOランクを選択することも可能である：&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
simpleFoam -ioRanks host  ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== MPIスレッドのコマンドライン指定 ====&lt;br /&gt;
&lt;br /&gt;
* MPI_THREAD_MULTIPLE を持つことは、通常、パフォーマンス上好ましくないが、リンクされたライブラリがMPI_THREAD_MULTIPLE を期待する場合には必要な場合もある。mpi-threads コマンドラインオプションを使用すると、MPI_THREAD_MULTIPLE を明示的に指定することができます。&lt;br /&gt;
&lt;br /&gt;
==== parProfilingの詳細 ====&lt;br /&gt;
parProfilingは、より詳細な情報を得るために、異なるMPIオペレーションをより分離するようになった：&lt;br /&gt;
&lt;br /&gt;
* ブロードキャスト・タイムとリデュース／ギャザー／スキャッター・タイムを分離&lt;br /&gt;
* 一般的な待ち時間とすべての待ち時間の比較&lt;br /&gt;
* リクエストの時間/カウントを他のカウントと分離して、呼び出しカウントをサポートする（他のカウントがマスクされないようにするため）。&lt;br /&gt;
&lt;br /&gt;
=== 有限面積の改善 ===&lt;br /&gt;
最小エッジ長のチェックがより一貫性を持ち、小さなエッジの存在下でもロバスターとなった。2次元テンソルの逆変換の取り扱いが改善され，有限面積における最小二乗法がロバスターになった．&lt;br /&gt;
&lt;br /&gt;
=== メッシュ生成 ===&lt;br /&gt;
&lt;br /&gt;
==== makeFaMesh ====&lt;br /&gt;
スター &amp;quot;接続の中心や、パッチ面が実際にはバッフルであるために発生する、多重接続された有限面積のエッジを処理するためのヒューリスティックが追加された。&lt;br /&gt;
&lt;br /&gt;
直列の場合、これらの内部エッジはモデル化という点ではかなり疑わしいが、プロセッサーのドメインにまたがって分割されると、かなりの問題を引き起こす。接続性を一意に決定するのに十分な情報があるとは限らないが、エッジを結合するための何らかの救済措置はしばしば可能である。余分な &amp;quot;ぶら下がった &amp;quot;エッジは無視パッチに追いやられ、別々に扱われるようになります。&lt;br /&gt;
&lt;br /&gt;
これらのヒューリスティックは、遭遇したいくつかの問題を解決するものではあるが、さらなる研究が必要である。&lt;br /&gt;
&lt;br /&gt;
=== メッシュチェック／後処理 ===&lt;br /&gt;
&lt;br /&gt;
==== checkMesh ====&lt;br /&gt;
&lt;br /&gt;
* checkMeshとmakeFaMeshにグローバルトポロジーチェックを追加し、境界パッチがエッジ間で多重接続されている場合にそれを検出するようにした。&lt;br /&gt;
* checkMeshの新しい-write-edgesオプション：トポロジー的に問題のあるエッジをディスクに書き出すことができます。この新機能は有用な診断補助となります（特に、不正なエッジがあっても壊れにくい有限面積メッシュの場合）。&lt;br /&gt;
&lt;br /&gt;
==== foamToVTK ====&lt;br /&gt;
foamToVTKを-no-internalおよび-no-boundaryオプションで実行すると、フィールドの読み込みと報告がすべて抑制され、速度が大幅に向上する。&lt;br /&gt;
&lt;br /&gt;
フィールドを用いた通常の変換では、ロードされたボリュームフィールドは点補間で再利用するために一時的にキャッシュされる。これにより、入力IOが削減され、実行時間が改善される。&lt;br /&gt;
&lt;br /&gt;
== 前処理 ==&lt;br /&gt;
&lt;br /&gt;
=== snappyHexMesh：過剰なバランシングの回避 ===&lt;br /&gt;
snappyHexMeshはセルを並列に精錬する際に自動的にメッシュのバランスを取ります。snappyHexMeshDict入力ファイルのcastellatedMeshControlsセクションの新しいコントロールはこの処理を調整するために使用することができます：&lt;br /&gt;
&lt;br /&gt;
* maxCellUnbalance : [オプション] 絶対的なアンバランス開始トリガー。セル数が少ない場合に、最初の洗練反復でバランシングを回避するために使用される。トリガー値はバランシングをスキップするために使用される：&lt;br /&gt;
** どのプロセッサでも、新しく追加されたセルの数 &amp;lt;= maxCellUnbalance の場合&lt;br /&gt;
** いずれかのプロセッサの場合：（プロセッサの新しいセル数 - 理想的なセル数） &amp;lt;= maxCellUnbalance&lt;br /&gt;
* balanceAtEnd : [オプション] maxCellUnbalanceエントリーがメッシュのアンバランスを引き起こす可能性があるため、メッシュが完全にリファインされた後に強制的にバランシングを行う。&lt;br /&gt;
* (existing) maxLoadUnbalance : ある程度のアンバランスを許容する。&lt;br /&gt;
&lt;br /&gt;
これらの追加制御を用いることで、コア数が多い場合、キャステレーション段階で大幅なスピードアップが実現した。なお、スナッピングとレイヤー追加フェーズは影響を受けない。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!607&lt;br /&gt;
&lt;br /&gt;
=== checkMeshの改良 ===&lt;br /&gt;
checkMeshは自動的にプロセッサ・パッチのレポートをフィルタリングしますが、そのプロパティは有用です。このリリースでは、プロセッサ・パッチのフィルタリングは並列実行のみに制限されています。&lt;br /&gt;
例として、シリアルで走る：&lt;br /&gt;
 &amp;lt;code&amp;gt;checkMesh -case processor0 -allTopology -allGeometry&amp;lt;/code&amp;gt;&lt;br /&gt;
報告：&lt;br /&gt;
 &amp;lt;code&amp;gt;Checking patch topology for multiply connected surfaces...&lt;br /&gt;
     Patch               Faces    Points     Surface topology  Bounding box&lt;br /&gt;
     front               2275     2399     ok (non-closed singly connected)   (-0.572 -1 0.007621454194) (-0.17456 1 0.02497405934)&lt;br /&gt;
     ..&lt;br /&gt;
     procBoundary0to1    101      204      ok (non-closed singly connected)   (-0.19184 -1 -0.008375915288) (-0.17456 1 0.008375915288)&lt;br /&gt;
     &amp;quot;.*&amp;quot;                4796     4798     ok (closed singly connected)       (-0.572 -1 -0.02497405934) (-0.17456 1 0.02497405934)&amp;lt;/code&amp;gt;&lt;br /&gt;
個々のプロセッサ境界のレポートに注意してください。これは、全体の境界面のエントリ（&amp;quot;.*&amp;quot;）にも含まれます。並列実行の場合、v2212と同様に、プロセッサパッチはリストと全体の境界面から除外されます。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_UTILITIES/mesh/manipulation/checkMesh&lt;br /&gt;
&lt;br /&gt;
Issue tracker&lt;br /&gt;
&lt;br /&gt;
* !698&lt;br /&gt;
&lt;br /&gt;
== 数値 ==&lt;br /&gt;
&lt;br /&gt;
=== finiteAreaの新しいキャッシュグラデーションメカニズム ===&lt;br /&gt;
もともと有限体積フレームワークで利用可能だった）勾配キャッシング・メカニズムが、有限面積フレームワークにも適用された。&lt;br /&gt;
有効にすると、従属フィールドが変更されたときにのみ勾配フィールドが計算され、後で再利用できるようにメッシュデータベースのメモリに保存されるため、追加コストのかかる再評価を省くことができます。&lt;br /&gt;
&lt;br /&gt;
system/faSolutionファイルでの使用例を以下に示す：&lt;br /&gt;
 &amp;lt;code&amp;gt;cache&lt;br /&gt;
 {&lt;br /&gt;
     grad(h);&lt;br /&gt;
     grad(Us);&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/finiteArea/finiteArea/gradSchemes/faGradScheme/faGradScheme.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!611&lt;br /&gt;
&lt;br /&gt;
=== 新しい並列プリコンディショナ ===&lt;br /&gt;
新しいプリコンディショナdistributedDILU, distributedDICは、DILU, DICプリコンディショナにRed-Black型の並列動作のバリエーションを追加したものである。これらの新しいプリコンディショナは、GAMGソルバーの最も粗いレベルを解くのに特に有用である：&lt;br /&gt;
 &amp;lt;code&amp;gt;p&lt;br /&gt;
 {&lt;br /&gt;
     solver          GAMG;&lt;br /&gt;
     // Explicit specify solver for coarse-level correction to override&lt;br /&gt;
     // preconditioner&lt;br /&gt;
     coarsestLevelCorr&lt;br /&gt;
     {&lt;br /&gt;
         solver          PCG;&lt;br /&gt;
         preconditioner  distributedDIC;&lt;br /&gt;
     }&lt;br /&gt;
 } &amp;lt;/code&amp;gt;&lt;br /&gt;
コア数が非常に大きい場合、スケーリングのボトルネックは、最も粗いレベルの解における大域的な削減となる可能性があり、分散プリコンディショナーは、（追加のハロースワップを犠牲にして）掃引量と削減量を減らすことができる。4096コアの大規模な場合：&lt;br /&gt;
&lt;br /&gt;
この性能上の利点は、タイミングに表れている：&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!preconditioner&lt;br /&gt;
!Execution time&lt;br /&gt;
|-&lt;br /&gt;
|DIC&lt;br /&gt;
|8687s&lt;br /&gt;
|-&lt;br /&gt;
|distributedDIC&lt;br /&gt;
|6326s&lt;br /&gt;
|}&lt;br /&gt;
分散型プリコンディショナの使用は、一般に、計算が大域的なリダクションに束縛される場合にのみ意味を持つことに注意してください。非分散型と比較すると、ハロースイープを追加する代償として、CGスイープ回数（および削減回数）を減らすことができます。少ないコア数では、これは有益ではないかもしれない。CG掃引の回数がとにかく少ない場合、例えば相対公差で解く場合も同様です。&lt;br /&gt;
&lt;br /&gt;
同じ戦略は、他の結合境界条件、例えばサイクリック、サイクリックAMIにも適用できる。前方ループでは、'owner'パッチに対する'neighbor'の効果が含まれ、後方ループではその逆の効果が含まれます。これはcoupledスイッチで切り替えます（デフォルトはon）：&lt;br /&gt;
 &amp;lt;code&amp;gt;solver          PCG;&lt;br /&gt;
 preconditioner  distributedDIC;&lt;br /&gt;
 coupled         false;  // do not precondition across non-processor coupled&amp;lt;/code&amp;gt;&lt;br /&gt;
cyclicAMIの場合、2つのサイドが異なるプロセッサー上に排他的に存在するか、まったく分散されていない必要があるという制限がある。&lt;br /&gt;
&lt;br /&gt;
新しいプリコンディショナーは構築するのにかなりコストがかかるため、線形ソルバー内部にキャッシュされる。これは、GAMG内部の最も粗いレベルの補正ソルバーにのみ影響する。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/distributedDILUPreconditioner.H&lt;br /&gt;
* $FOAM_SRC/meshTools/matrices/lduMatrix/preconditioners/distributedDILUPreconditioner/distributedDICPreconditioner.H&lt;br /&gt;
&lt;br /&gt;
References&lt;br /&gt;
&lt;br /&gt;
* Yousef Saad, Iterative Methods for Sparse Linear Systems (2nd edition)&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!608&lt;br /&gt;
&lt;br /&gt;
=== 新しいFPCG線形ソルバー ===&lt;br /&gt;
PCG線形ソルバーの新しいドロップイン代替であるFPCGは、1掃引あたりの削減回数を3回から2回に削減します。これにより、特にGAMG線形ソルバーで最も粗いレベルを解くときに、並列削減がボトルネックになる可能性のあるコア数が大きい場合に、並列スケーリングが改善されるはずです。&lt;br /&gt;
このソルバーは、リダクションの数と追加ストレージ/パイプライン量のトレードオフを提供します。これは、ハロースワップとリダクションをオーバーラップさせるPPCGソルバーと比較することができます（しかし、追加のストレージが必要です）。&lt;br /&gt;
&lt;br /&gt;
FPCGは、1つの余分なプリコンディショニングステップを必要とするため、より複雑なプリコンディショナー（例えばGAMG）にとってはあまり有益でない可能性があることに注意されたい。&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* OpenCFD would like to acknowledge and thank Alon Zameret of Toga Networks for providing the code and elaborate discussions.&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/matrices/lduMatrix/solvers/FPCG/FPCG.C&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!601&lt;br /&gt;
&lt;br /&gt;
=== テンソル反転の処理の改善 ===&lt;br /&gt;
テンソルの逆変換は、例えば最小二乗法計算に必要であり、テンソルの値が面内、例えば本質的に2Dである場合には特に厄介です。このような場合は、「安全な」逆変換アプローチによって処理されるようになり、擬似逆変換のようなコストのかかるオーバーヘッドなしにロバスト性が追加されます。この変更は、主にいくつかの有限面積スキームのロバスト性に影響します。&lt;br /&gt;
&lt;br /&gt;
=== メッシュセル/ポイント計算の改善（高速化） ===&lt;br /&gt;
セルからポイント、またはポイントからセルへのアドレッシングの情報は、異なるアルゴリズ ムに必要とされる。このタイプのアドレッシングは計算するのに比較的コストがかかるので、可能な限りキャッシュされ、不足するアドレッシングを導き出すために再利用される。&lt;br /&gt;
これは通常1回限りのコストであるが、キャッシュされた値を無効にするようなトポロジーの変更を伴うメッシュでは、より大きな要因になる可能性がある。アドレッシングを再構築するための更新されたアプローチは、速度を1.4倍から2.4倍に向上させる。&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* OpenCFD would like to acknowledge and thank Toga Networks for providing the code and elaborate discussions.&lt;br /&gt;
* issue 2715&lt;br /&gt;
* MR!596&lt;br /&gt;
&lt;br /&gt;
== ソルバーと物理モデル ==&lt;br /&gt;
&lt;br /&gt;
=== 改良されたvanDriest LESデルタモデル ===&lt;br /&gt;
vanDriest LESデルタモデルでは、最も近い壁の特性（y*）が局所的な長さスケールを計算するために使用されます。以前のリリースでは、これらの壁のプロパティは、壁の距離（meshWave）を計算するために同じメカニズムを使用して輸送されていました。このリリースでは、アドレッシングは一度計算され、最も近い壁の情報を直接取得できるようにキャッシュされます。これにより、（余分なストレージを必要としますが）大きなメッシュで非常に大きなスピードアップが得られます。さらに、同じアドレッシングは、fvSchemesの新しいmeshWaveAddressing wallDistメソッドを使用して、壁の距離自体にも使用できます：&lt;br /&gt;
 &amp;lt;code&amp;gt;wallDist&lt;br /&gt;
 {&lt;br /&gt;
     method meshWaveAddressing;&lt;br /&gt;
 &lt;br /&gt;
     // Fetch the nearest wall normal&lt;br /&gt;
     nRequired       true;&lt;br /&gt;
 &lt;br /&gt;
     // Optional entry delaying wall distance update to every n steps&lt;br /&gt;
     // Default is 1 (update every step)&lt;br /&gt;
     updateInterval 5;&lt;br /&gt;
 } &amp;lt;/code&amp;gt;&lt;br /&gt;
次の画像は、ExaFoamプロジェクトの一環として実証された、これらの改善による強力なスケーリング性能を示している：&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/TurbulenceModels/turbulenceModels/LES/LESdeltas/vanDriestDelta&lt;br /&gt;
&lt;br /&gt;
Resolved bugs&lt;br /&gt;
&lt;br /&gt;
* !2648&lt;br /&gt;
&lt;br /&gt;
=== 新しいラグランジュ粒子力 クーロン ===&lt;br /&gt;
新しいクーロン有限体積オプション(fvOption)は、電場を評価するためのelectricPotential関数オブジェクトの本質的な基礎的な変更とともに、直径に基づいて粒子に作用する静電気力のモデルを提供します。カップリングは現在一方通行です。&lt;br /&gt;
最低限の使用例を以下に示す：&lt;br /&gt;
 &amp;lt;code&amp;gt;subModels&lt;br /&gt;
 {&lt;br /&gt;
     solution&lt;br /&gt;
     {&lt;br /&gt;
         interpolationSchemes&lt;br /&gt;
         {&lt;br /&gt;
             &amp;lt;Ename&amp;gt;      &amp;lt;interpolationScheme&amp;gt;;  // Electric field name&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     particleForces&lt;br /&gt;
     {&lt;br /&gt;
         Coulomb&lt;br /&gt;
         {&lt;br /&gt;
             q       &amp;lt;Function1&amp;lt;scalar&amp;gt;&amp;gt;;  // Electric charge of particles&lt;br /&gt;
             E       &amp;lt;word&amp;gt;;               // Electric field&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Coulomb&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!602&lt;br /&gt;
&lt;br /&gt;
=== 新しいfvOption：fanMomentumSource ===&lt;br /&gt;
新しいfanMomentumSource有限体積オプション（fvOption）は、流れに対するファンの作用を表現する運動量ソースを追加します。&lt;br /&gt;
まず、セルゾーンを囲む上流側の面を通過する流量が計算される。上流側の面は流れ方向と周囲の面ゾーンを用いて自動的に決定される。続いて、流量の関数としてのファン圧力曲線とファン（測定部）の厚さから圧力勾配を求める。&lt;br /&gt;
&lt;br /&gt;
最小限の使用例は以下の通り：&lt;br /&gt;
 &amp;lt;code&amp;gt;fan&lt;br /&gt;
 {&lt;br /&gt;
     // Mandatory entries&lt;br /&gt;
     type                fanMomentumSource;&lt;br /&gt;
     fanCurve            &amp;lt;Function1&amp;lt;scalar&amp;gt;&amp;gt;;&lt;br /&gt;
     flowDir             &amp;lt;vector&amp;gt;;&lt;br /&gt;
     thickness           &amp;lt;scalar&amp;gt;;&lt;br /&gt;
     cellZone            &amp;lt;word&amp;gt;;&lt;br /&gt;
     faceZone            &amp;lt;word&amp;gt;;&lt;br /&gt;
 &lt;br /&gt;
     // Optional entries&lt;br /&gt;
     gradient            &amp;lt;scalar&amp;gt;;&lt;br /&gt;
     rho                 &amp;lt;scalar&amp;gt;;&lt;br /&gt;
     U                   &amp;lt;word&amp;gt;;&lt;br /&gt;
 &lt;br /&gt;
     // Inherited entries&lt;br /&gt;
     selectionMode       &amp;lt;word&amp;gt;;&lt;br /&gt;
     ...&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/fvOptions/sources/derived/fanMomentumSource&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!604&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* OpenCFD would like to acknowledge and thank Vuko Vukcevic of SimScale GmbH for providing the code and elaborate discussions.&lt;br /&gt;
&lt;br /&gt;
=== 新しい fvOption: limitTurbulenceViscosity。 ===&lt;br /&gt;
新しいlimitTurbulenceViscosity有限体積オプション(fvOption)は、計算の安定性を高める乱流粘度nutを制限するメカニズムを提供します。&lt;br /&gt;
乱流粘性場は、層流粘性に係数を乗じた上限値を適用することで、指定された領域内で補正される：&lt;br /&gt;
&lt;br /&gt;
最小限の使用例は以下の通り：&lt;br /&gt;
 &amp;lt;code&amp;gt;limitTurbulenceViscosity1&lt;br /&gt;
 {&lt;br /&gt;
     // Mandatory entries&lt;br /&gt;
     type            limitTurbulenceViscosity;&lt;br /&gt;
 &lt;br /&gt;
     // Optional entries&lt;br /&gt;
     nut             nut;&lt;br /&gt;
     c               1e5;&lt;br /&gt;
 &lt;br /&gt;
     // Inherited entries&lt;br /&gt;
     ...&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/fvOptions/corrections/limitTurbulenceViscosity&lt;br /&gt;
&lt;br /&gt;
=== 改良された剛体運動拘束：軸 ===&lt;br /&gt;
軸拘束は、ボディが固定軸の周りにしか回転できないような方向制限を課します。これは、例えばバタフライバルブをモデル化するために、最小回転角度と最大回転角度を追加することで強化されました。&lt;br /&gt;
さらに、すべての剛体運動制約がランタイムで調整可能になった。&lt;br /&gt;
&lt;br /&gt;
最小限の使用例は以下の通り：&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;code&amp;gt;constraints&lt;br /&gt;
 {&lt;br /&gt;
     constrainRotation1&lt;br /&gt;
     {&lt;br /&gt;
         sixDoFRigidBodyMotionConstraint     axis;&lt;br /&gt;
         axis                                &amp;lt;vector&amp;gt;;&lt;br /&gt;
 &lt;br /&gt;
         // Optional entries&lt;br /&gt;
         maxClockwiseTheta                   &amp;lt;Function1&amp;lt;scalar&amp;gt;&amp;gt;;&lt;br /&gt;
         maxCounterclockwiseTheta            &amp;lt;Function1&amp;lt;scalar&amp;gt;&amp;gt;;&lt;br /&gt;
         thetaUnits                          &amp;lt;word&amp;gt;;&lt;br /&gt;
         referenceOrientation                &amp;lt;tensor&amp;gt;;&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/axis&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!613&lt;br /&gt;
&lt;br /&gt;
== 境界条件 ==&lt;br /&gt;
&lt;br /&gt;
==== 新しい境界条件：鏡面放射 ====&lt;br /&gt;
fvDOM放射モデルは、新しいspecularRadiation境界条件を使用して、軸対称および対称面セットアップに適用できるようになりました。&lt;br /&gt;
この境界条件の最小限の例を以下に示す：&lt;br /&gt;
 &amp;lt;code&amp;gt;{&lt;br /&gt;
     // Mandatory entries&lt;br /&gt;
     type                specularRadiation;&lt;br /&gt;
 &lt;br /&gt;
     // Optional entries&lt;br /&gt;
     interpolate         &amp;lt;bool&amp;gt;;&lt;br /&gt;
 &lt;br /&gt;
     // Inherited entries&lt;br /&gt;
     patchType           &amp;lt;word&amp;gt;;&lt;br /&gt;
     ...&lt;br /&gt;
 } &amp;lt;/code&amp;gt;&lt;br /&gt;
下図は、4つの異なる形状の内部無次元入射放射の観点から条件を検証したものである：&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/thermophysicalModels/radiation/derivedFvPatchFields/specularRadiation&lt;br /&gt;
&lt;br /&gt;
References&lt;br /&gt;
&lt;br /&gt;
* Standard model:&lt;br /&gt;
** Kumar, P., &amp;amp; Eswaran, V. (2013). A methodology to solve 2D and axisymmetric radiative transfer problems using a general 3D solver. Journal of heat transfer, 135(12). DOI:10.1115/1.4024674&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!610&lt;br /&gt;
&lt;br /&gt;
Attribution&lt;br /&gt;
&lt;br /&gt;
* OpenCFD would like to acknowledge and thank Hitachi Energy for sponsoring the development, and Bernardo Galletti and Marcelo Buffoni for elaborate discussions.&lt;br /&gt;
&lt;br /&gt;
=== 新ユニフォーム混合コンディション ===&lt;br /&gt;
新しいuniformMixed境界条件は、既存のuniformFixedValue境界条件とuniformFixedGradient境界条件を補完するものです。&lt;br /&gt;
この条件は混合境界条件を定義するために使用され、値を定義するために関数を使用する。&lt;br /&gt;
 &amp;lt;code&amp;gt;{&lt;br /&gt;
     type            uniformMixed;&lt;br /&gt;
     uniformValue    constant 0.2;&lt;br /&gt;
     uniformGradient constant 0.2;&lt;br /&gt;
     uniformValueFraction&lt;br /&gt;
     {&lt;br /&gt;
         type  sine;&lt;br /&gt;
         ...&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
しかし、境界条件は遅延定義を許可しているため、uniformValueまたはuniformGradientの一方だけを定義し、他のエントリーを暗黙的に定義することも可能である。&lt;br /&gt;
&lt;br /&gt;
uniformMixedで使用される関数には式も含まれるため、この新しい境界条件は、将来非推奨となり削除される既存のexprMixed境界条件のより柔軟な形として使用することができる。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/finiteArea/fields/faPatchFields/derived/uniformMixed&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/compressible/rhoPimpleFoam/RAS/TJunctionAverage/0/U&lt;br /&gt;
&lt;br /&gt;
=== 新しい有限領域境界条件 ===&lt;br /&gt;
有限面積計算でuniformFixedValue、uniformFixedGradient、uniformMixed境界条件が使用できるようになりました。&lt;br /&gt;
これらの境界条件はFinite Areaに関数と式のサポートを追加します。timeVaryingUniformFixedValue境界条件は非推奨となり、将来削除される予定です。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/finiteArea/fields/faPatchFields/derived/uniformFixedValue&lt;br /&gt;
* $FOAM_SRC/finiteArea/fields/faPatchFields/derived/uniformFixedGradient&lt;br /&gt;
* $FOAM_SRC/finiteArea/fields/faPatchFields/derived/uniformMixed&lt;br /&gt;
&lt;br /&gt;
== 後処理 ==&lt;br /&gt;
&lt;br /&gt;
=== ラグランジュ関数オブジェクトの改良 ===&lt;br /&gt;
ラグランジアン・クラウド・ファンクション・オブジェクトは複数のアップデートを受けた：&lt;br /&gt;
&lt;br /&gt;
* patchPostProcessingとpatchParticleHistogramは、それぞれの機能をよりよく反映させるために、それぞれparticlePostProcessingとparticleHistogramという名前に変更されました；&lt;br /&gt;
* writeFileサポートが追加され、ファイル出力の制御が改善された。&lt;br /&gt;
* faceZoneのサポートが追加され、パーティクル収集のコントロールが向上しました。&lt;br /&gt;
&lt;br /&gt;
最低限の使用例を以下に示す：&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;code&amp;gt;ParticlePostProcessing1&lt;br /&gt;
 {&lt;br /&gt;
     // Mandatory entries&lt;br /&gt;
     type                 particlePostProcessing;&lt;br /&gt;
     maxStoredParcels     &amp;lt;scalar&amp;gt;;&lt;br /&gt;
 &lt;br /&gt;
     // Optional entries&lt;br /&gt;
     fields               (&amp;lt;wordRes&amp;gt;);&lt;br /&gt;
 &lt;br /&gt;
     // Conditional entries&lt;br /&gt;
 &lt;br /&gt;
         // Option-1&lt;br /&gt;
         patches          (&amp;lt;wordRes&amp;gt;);&lt;br /&gt;
 &lt;br /&gt;
         // Option-2&lt;br /&gt;
         faceZones        (&amp;lt;wordRes&amp;gt;);&lt;br /&gt;
 &lt;br /&gt;
     // Inherited entries&lt;br /&gt;
     // writeFile entries&lt;br /&gt;
     ...&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 particleHistogram1&lt;br /&gt;
 {&lt;br /&gt;
     // Mandatory entries&lt;br /&gt;
     type                 particleHistogram;&lt;br /&gt;
     nBins                &amp;lt;label&amp;gt;;&lt;br /&gt;
     min                  &amp;lt;scalar&amp;gt;;&lt;br /&gt;
     max                  &amp;lt;scalar&amp;gt;;&lt;br /&gt;
     maxStoredParcels     &amp;lt;scalar&amp;gt;;&lt;br /&gt;
 &lt;br /&gt;
     // Conditional entries&lt;br /&gt;
 &lt;br /&gt;
         // Option-1&lt;br /&gt;
         patches          (&amp;lt;wordRes&amp;gt;);&lt;br /&gt;
 &lt;br /&gt;
         // Option-2&lt;br /&gt;
         faceZones        (&amp;lt;wordRes&amp;gt;);&lt;br /&gt;
 &lt;br /&gt;
     // Inherited entries&lt;br /&gt;
     // writeFile entries&lt;br /&gt;
     ...&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleHistogram&lt;br /&gt;
* $FOAM_SRC/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticlePostProcessing&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!595&lt;br /&gt;
&lt;br /&gt;
=== 改良されたファンクション・オブジェクト：力とforceCoeffs ===&lt;br /&gt;
力とforceCoeffs関数オブジェクトは、実行時間を短縮するために最適化されました。&lt;br /&gt;
テストによると、以前は複数の力とforceCoeffs関数オブジェクトを使用すると、主に速度勾配の計算とさまざまな内部フィールドに対して実行される冗長な計算が原因で、総実行時間が2～10％の範囲でスローダウンしていた。&lt;br /&gt;
&lt;br /&gt;
例えば、simpleCarチュートリアルのテストでは、速度勾配をキャッシュすることで補完した場合、力関数オブジェクトの実行時間が約3分の1に短縮されることが実証された。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/forces/forces&lt;br /&gt;
* $FOAM_SRC/functionObjects/forces/forceCoeffs&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!598&lt;br /&gt;
&lt;br /&gt;
== パラレル ==&lt;br /&gt;
&lt;br /&gt;
=== parProfiling 関数オブジェクトの改良 ===&lt;br /&gt;
並列プロファイリング関数オブジェクト parProfiling の拡張により、プロファイリングを線形ソルバーに制限することができます。この関数オブジェクトは，controlDictで次のように指定します．&lt;br /&gt;
 &amp;lt;code&amp;gt;functions&lt;br /&gt;
 {&lt;br /&gt;
     // Run parProfiling&lt;br /&gt;
     profiling&lt;br /&gt;
     {&lt;br /&gt;
         libs    (utilityFunctionObjects);&lt;br /&gt;
         #includeEtc &amp;quot;caseDicts/profiling/parallel.cfg&amp;quot;&lt;br /&gt;
         detail  2;&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
これは、fvSolutionファイル内の新しいparProfilingラッパー・ソルバーの形をとります：&lt;br /&gt;
 &amp;lt;code&amp;gt;solvers&lt;br /&gt;
 {&lt;br /&gt;
     p&lt;br /&gt;
     {&lt;br /&gt;
         solver          parProfiling;&lt;br /&gt;
         baseSolver      PCG;&lt;br /&gt;
         preconditioner  DIC;&lt;br /&gt;
         tolerance       1e-06;&lt;br /&gt;
         relTol          0.05;&lt;br /&gt;
     }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
上記の例では、PCG線形ソルバーに対してのみparProfiling関数オブジェクトを有効にしています。この拡張は、GAMGソルバー内の最も粗いレベルの線形ソルバーの効果を見るときに特に便利です。&lt;br /&gt;
&lt;br /&gt;
典型的な出力だ：&lt;br /&gt;
 &amp;lt;code&amp;gt;parProfiling:&lt;br /&gt;
     reduce    : avg = 72.7133s&lt;br /&gt;
                 min = 2.37s (processor 0)&lt;br /&gt;
                 max = 88.29s (processor 4)&lt;br /&gt;
     all-all   : avg = 14.9633s&lt;br /&gt;
                 min = 11.04s (processor 5)&lt;br /&gt;
                 max = 17.18s (processor 4)&amp;lt;/code&amp;gt;&lt;br /&gt;
例えば、20台のプロセッサーを使ったキャビティ・リッド・ドライブ・チュートリアルのように、異なる線形ソルバーの効果を調べるには、両方を組み合わせることが非常に有効です：&lt;br /&gt;
&lt;br /&gt;
PCG の parProfiling 出力：&lt;br /&gt;
 &amp;lt;code&amp;gt;reduce    : ..&lt;br /&gt;
     ..&lt;br /&gt;
     counts  20(14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875 14875)&amp;lt;/code&amp;gt;&lt;br /&gt;
FPCG の parProfiling 出力：&lt;br /&gt;
 &amp;lt;code&amp;gt;reduce    : ..&lt;br /&gt;
     ..&lt;br /&gt;
     counts  20(11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914 11914)&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/functionObjects/utilities/parProfiling/parProfilingSolver.H&lt;br /&gt;
&lt;br /&gt;
Tutorial&lt;br /&gt;
&lt;br /&gt;
* $FOAM_TUTORIALS/IO/cavity_parProfiling&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!603&lt;br /&gt;
&lt;br /&gt;
=== スコッチ - マルチレベル分解をサポート ===&lt;br /&gt;
multiLevel分解法は、ノード内（より高速な通信を使用）よりもノード間カット（低速な通信を使用）の量を優先的に制限するために使用することができる。この機能は、重みのセットを指定することで、スコッチ（ptscotchではない）分解法にネイティブに存在するようになった：&lt;br /&gt;
 &amp;lt;code&amp;gt;method              scotch;&lt;br /&gt;
 numberOfSubdomains  2048;&lt;br /&gt;
 coeffs&lt;br /&gt;
 {&lt;br /&gt;
     // Divide into 64 nodes, each of 32 cores&lt;br /&gt;
     domains (64 32);&lt;br /&gt;
     // Inside a nodes the communication weight is 1% of that inbetween nodes&lt;br /&gt;
     domainWeights (1 0.01);&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
あるいは、そのレベルの重みを1として、第1レベルの分解を省略することもできる：&lt;br /&gt;
 &amp;lt;code&amp;gt;method              scotch;&lt;br /&gt;
 numberOfSubdomains  2048;&lt;br /&gt;
 coeffs&lt;br /&gt;
 {&lt;br /&gt;
     // Divide into 2048/32=64 nodes&lt;br /&gt;
     domains (32);&lt;br /&gt;
     // Inside a node the communication weight is 1% of that inbetween nodes&lt;br /&gt;
     domainWeights (0.01);&lt;br /&gt;
 } &amp;lt;/code&amp;gt;&lt;br /&gt;
下の画像は、20x20の単純なメッシュを32分割したものである：&lt;br /&gt;
&lt;br /&gt;
マルチレベル・メソッドと比較すると、次のようになる。&lt;br /&gt;
&lt;br /&gt;
* multiLevelサブセットは、各第1レベルの分解を第2レベルに分解する。セル数が多くなると、これがボトルネックになる。&lt;br /&gt;
* multiLevelメソッドで時々起こるような、過剰な数のプロセッサ・パッチを作成することを避けることができる。&lt;br /&gt;
&lt;br /&gt;
残念なことに、この機能は外部のptscotchライブラリには実装されていない。いったん利用できるようになれば、ptscotch分解メソッドに追加するのは簡単だ。&lt;br /&gt;
&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/parallel/decompose/scotchDecomp/scotchDecomp.C&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!599&lt;br /&gt;
&lt;br /&gt;
=== ノンブロッキング線形ソルバー ===&lt;br /&gt;
並列で実行する場合、線形ソルバーは、受信したデータを使用して境界条件（'インターフェース'）を更新する前に、すべての通信が終了するのを待ちます。このため、通信の1つが他の通信より遅い場合、ボトルネックになることがあります。例えば、接続が遅い、インターフェイスの面が多いなどです。&lt;br /&gt;
これを避けるために、インターフェイスのポーリングを有効にし、インターフェイスが 「ready」になったときにインターフェイスの更新を実行するnPollProcInterfaces最適化スイッチが導入された。このスイッチは、一定の反復回数（その後にブロッキング待ちが続く）か、ポーリングのみの場合は「-1」（新機能）である：&lt;br /&gt;
&lt;br /&gt;
etc/controlDictまたはローカルシステム/controlDictで、nPollProcInterfacesを-1に設定する：&lt;br /&gt;
 &amp;lt;code&amp;gt;OptimisationSwitches&lt;br /&gt;
 {&lt;br /&gt;
     // Fixed or infinite (-1) number of polling iterations&lt;br /&gt;
     nPollProcInterfaces -1;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
一般論として：&lt;br /&gt;
&lt;br /&gt;
* 十分なローカルワークがある場合、つまりプロセッサインターフェースの解を追加する場合、通信とオーバーラップさせることに意味がある場合に使用する。GAMGの最も粗いレベルでは、これは当てはまらない。&lt;br /&gt;
* プロセッサ・インターフェースの最小サイズと最大サイズ、つまり面の数に大きな差がある場合に使用する。これは、幾何学的分解法などではあり得るが、スコッチなどの位相分解法では一般的ではない。&lt;br /&gt;
&lt;br /&gt;
大きな欠点は、解の追加順序が非決定的になり、例えば、pitzDaily非圧縮チュートリアルを（悪い）ソルバーの組み合わせで実行すると、切り捨て誤差に影響することです：&lt;br /&gt;
 &amp;lt;code&amp;gt;p&lt;br /&gt;
 {&lt;br /&gt;
     solver          PCG;&lt;br /&gt;
     preconditioner  diagonal;&lt;br /&gt;
 &lt;br /&gt;
     tolerance       1e-06;&lt;br /&gt;
     relTol          0.1;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
は、100回の繰り返しで顕著な解の違いを生み出す：&lt;br /&gt;
&lt;br /&gt;
* ポーリングなし:&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;code&amp;gt;diagonalPCG:  Solving for p, Initial residual = 0.012452, Final residual = 0.0012432, No Iterations 162&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ポーリング:&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;code&amp;gt;diagonalPCG:  Solving for p, Initial residual = 0.012544, Final residual = 0.0012536, No Iterations 301&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== マスターコースター凝集の改善 ===&lt;br /&gt;
多くのコアでGAMGを実行する場合、PCGなどの最も粗いレベルのソルバーがスケーリングのボトルネックになる可能性があります。これを回避する1つの方法は、粗いレベルの行列をより少ない、あるいは1つのプロセッサに集約することです。これは、プロセッサの行列を集めて、プロセッサ間の境界をすべて内部の面に置き換えた、単一の大きな行列を作成するものです。これにより、通信は回避されるが、この凝集行列を解くプロセッサの計算コストが増加する。例えば、元の凝集が10000個のプロセッサで1セルまでだった場合、凝集した行列は少なくとも10000個のセルを持つことになり、これを解くことがボトルネックになる可能性がある。&lt;br /&gt;
この開発では、masterCoarsestプロセッサーのアグロメレーションは、ローカルアグロメレーションを再スタートして、10000セルをより少ないセルに戻すことができる。この新しい動作はfvSolutionの新しいパラメータnCellsInMasterLevelによってトリガーされる。&lt;br /&gt;
 &amp;lt;code&amp;gt;p&lt;br /&gt;
 {&lt;br /&gt;
     solver          GAMG;&lt;br /&gt;
     ..&lt;br /&gt;
     smoother        GaussSeidel;&lt;br /&gt;
 &lt;br /&gt;
     //- Local agglomeration parameters&lt;br /&gt;
     nCellsInCoarsestLevel   1;&lt;br /&gt;
 &lt;br /&gt;
     //- Processor-agglomeration parameters&lt;br /&gt;
     processorAgglomerator   masterCoarsest;&lt;br /&gt;
     //- Optionally agglomerate after processor-agglomeration&lt;br /&gt;
     nCellsInMasterLevel     1;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 結果 ====&lt;br /&gt;
単純なテストケースとして、pitzDailyチュートリアルを15プロセッサで並列実行するように修正しました（分解方法としてscotchを使用）。masterCoarsestを使用し、凝集の再起動を行わない場合、最初の反復は次のようになります。&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;code&amp;gt;DICPCG:  Solving for coarsestLevelCorr, Initial residual = 1, Final residual = 0.0788583, No Iterations 6&lt;br /&gt;
 DICPCG:  Solving for coarsestLevelCorr, Initial residual = 1, Final residual = 0.0150588, No Iterations 6&lt;br /&gt;
 ..&lt;br /&gt;
 DICPCG:  Solving for coarsestLevelCorr, Initial residual = 1, Final residual = 0.0105486, No Iterations 6&lt;br /&gt;
 GAMG:  Solving for p, Initial residual = 1, Final residual = 0.0759038, No Iterations 24&amp;lt;/code&amp;gt;&lt;br /&gt;
nCellsInMasterLevel 1：&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;code&amp;gt;DICPCG:  Solving for coarsestLevelCorr, Initial residual = 1, Final residual = 0, No Iterations 1&lt;br /&gt;
 DICPCG:  Solving for coarsestLevelCorr, Initial residual = 1, Final residual = 1.11661e-16, No Iterations 1&lt;br /&gt;
 ..&lt;br /&gt;
 DICPCG:  Solving for coarsestLevelCorr, Initial residual = 1, Final residual = 0, No Iterations 1&lt;br /&gt;
 GAMG:  Solving for p, Initial residual = 1, Final residual = 0.0799836, No Iterations 24&amp;lt;/code&amp;gt;&lt;br /&gt;
Source code&lt;br /&gt;
&lt;br /&gt;
* $FOAM_SRC/OpenFOAM/matrices/lduMatrix/solvers/GAMG/GAMGProcAgglomerations/masterCoarsestGAMGProcAgglomeration/masterCoarsestGAMGProcAgglomeration.H&lt;br /&gt;
&lt;br /&gt;
Merge request&lt;br /&gt;
&lt;br /&gt;
* MR!600&lt;br /&gt;
&lt;br /&gt;
=== 並列（MPI）処理の全般的な変更 ===&lt;br /&gt;
最近のexaFOAMの活動から得られた知見により、OpenFOAMのPstreamライブラリ（MPIインターフェース）の低レベルの改良と、コードベース全体の通信ボトルネックを低減するためのアルゴリズムとコードの変更が多数行われました。しかし、これらの変更のほとんどは、大規模シミュレーションにおいてのみ効果が現れます。アルゴリズムの変更の一部は*プレビュー*の変更とみなされるため、デフォルトでは有効ではなく、設定スイッチによって有効になります。&lt;br /&gt;
コード開発者向けに、MPIリクエストとコミュニケータの取り扱いが拡張され、独自の並列アルゴリズムを書く際に、より柔軟に対応できるようになりました。ノンブロッキングコンセンサス交換(NBX)を使ったサイズ交換の取り扱いが、 全対全交換のドロップイン置き換えとして提供されます。&lt;br /&gt;
&lt;br /&gt;
== ユーザビリティ ==&lt;br /&gt;
&lt;br /&gt;
=== 新しい文書システム ===&lt;br /&gt;
以前の拡張コードガイドはDoxygenベースのシステムからnanocベースのシステム（Gitlab.comで使われているのと同じシステム）に移行され、コミュニティ貢献のために公開されました。新しいコンテンツはhttps://doc.openfoam.com：&lt;br /&gt;
&lt;br /&gt;
* v2306: &amp;lt;nowiki&amp;gt;https://doc.openfoam.com/2306/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* v2212: &amp;lt;nowiki&amp;gt;https://doc.openfoam.com/2212/&amp;lt;/nowiki&amp;gt; (old release)&lt;br /&gt;
&lt;br /&gt;
このサイトは新しいルック＆フィールで、クイックスタート、多くの新しい境界条件、熱物理モデル、ノイズを含むツールなど、大幅なコンテンツ更新が行われた！&lt;br /&gt;
&lt;br /&gt;
コンテンツはhttps://gitlab.com/openfoam/documentation。継続的に進化しており、さらなるアップデートが予定されている。&lt;br /&gt;
&lt;br /&gt;
プルリクエストも喜んでお受けします！&lt;br /&gt;
=== 表現の変更 ===&lt;br /&gt;
式の評価関数にnormal()が追加されました。これはメッシュ面の単位法線を返すもので、face()/area()より少ない操作でよりロバストなものとなります。&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2306%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=832</id>
		<title>OpenFOAM v2306リリースノート</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM_v2306%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88&amp;diff=832"/>
		<updated>2023-09-09T08:43:33Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: ページの作成:「OpenCFDは、OpenFOAM® v2306の2023年6月リリースを発表します。このリリースは、コードの多くの領域にわたってOpenFOAM-v2212の機能を拡張しています。この新機能は、OpenCFDの顧客からのスポンサーによる開発、内部資金による開発、OpenFOAMコミュニティからの機能や変更の統合を表しています。  OpenFOAMはOpenCFDによってGPLライセンスの下で配布されています。…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenCFDは、OpenFOAM® v2306の2023年6月リリースを発表します。このリリースは、コードの多くの領域にわたってOpenFOAM-v2212の機能を拡張しています。この新機能は、OpenCFDの顧客からのスポンサーによる開発、内部資金による開発、OpenFOAMコミュニティからの機能や変更の統合を表しています。&lt;br /&gt;
&lt;br /&gt;
OpenFOAMはOpenCFDによってGPLライセンスの下で配布されています。様々なLinuxや他のPOSIXシステムでのコンパイルに適したソースコードパッケージに加え、このリリースにはコンパイル済みのバイナリパッケージも多数あります。&lt;br /&gt;
&lt;br /&gt;
Ubuntu Linux: Ubuntu 22.04(LTS)、20.04(LTS)、18.04(LTS)、23.04、22.10 用パッケージインストール&lt;br /&gt;
&lt;br /&gt;
openSUSE Linux: Leap15.5用パッケージインストール&lt;br /&gt;
&lt;br /&gt;
Redhat Linux: epel-9 用パッケージ・インストール; Fedora 37&lt;br /&gt;
&lt;br /&gt;
Windowsユーザーには、コンパイル済みパッケージについて3つの選択肢があります（詳細）：&lt;br /&gt;
&lt;br /&gt;
Windows Subsystem for Linux（Ubuntu、openSUSEなどベース）を使用する。&lt;br /&gt;
&lt;br /&gt;
クロスコンパイルされたネイティブ実行ファイル&lt;br /&gt;
&lt;br /&gt;
docker インストール&lt;br /&gt;
&lt;br /&gt;
OpenFOAM apptainerのサポートは、事前にアセンブルされたイメージではなく、記述ファイルによって提供されます。&lt;br /&gt;
&lt;br /&gt;
パッケージングを参照&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pre-processing ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Numerics ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Solvers and physical models ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Boundary conditions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Post-processing ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parallel ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Usability ==&lt;br /&gt;
&lt;br /&gt;
=== New documentation system ===&lt;br /&gt;
The previous Extended Code Guide has been migrated from a Doxygen-based system to nanoc-based system (the same system as used by Gitlab.com) and made public for Community Contributions. The new content is available from &amp;lt;nowiki&amp;gt;https://doc.openfoam.com&amp;lt;/nowiki&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* v2306: &amp;lt;nowiki&amp;gt;https://doc.openfoam.com/2306/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* v2212: &amp;lt;nowiki&amp;gt;https://doc.openfoam.com/2212/&amp;lt;/nowiki&amp;gt; (old release)&lt;br /&gt;
&lt;br /&gt;
The site has a new look and feel, and has received significant content updates, including a quick start, many new boundary conditions, thermophysical models, tools including noise, and much more!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The content is hosted at &amp;lt;nowiki&amp;gt;https://gitlab.com/openfoam/documentation&amp;lt;/nowiki&amp;gt; - it is continuously evolving and further updates will follow.&lt;br /&gt;
&lt;br /&gt;
We welcome your feedback, and encourage you to get involved - we're happy to receive pull requests!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Changes to expressions ===&lt;br /&gt;
Expression evaluation now includes normal() as a function. This returns the unit normal of mesh faces - a more robust equivalent to face()/area() with fewer operations.&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=EXUDYN&amp;diff=831</id>
		<title>EXUDYN</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=EXUDYN&amp;diff=831"/>
		<updated>2023-08-19T07:57:16Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A flexible multibody dynamics systems simulation code with Python and C++&amp;lt;ref&amp;gt;https://github.com/jgerstmayr/EXUDYN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/jgerstmayr/EXUDYN EXUDYN(Github)]&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=PrePoMax&amp;diff=830</id>
		<title>PrePoMax</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=PrePoMax&amp;diff=830"/>
		<updated>2023-07-29T07:20:46Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;このページではオープンソース構造解析ソフト「PrePoMax」についてまとめていきます。&lt;br /&gt;
&lt;br /&gt;
[https://prepomax.fs.um.si/ 公式サイト]&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
公式のバイナリーはWindowsのみです。&amp;lt;/br&amp;gt;&lt;br /&gt;
公式サイトに行って「Downloads」を左クリックしてください。Zipファイルをダウンロードして解凍してください。新しくできるフォルダーは移動しても構いません。そのフォルダーの中にあるPrePoMax.exeというファイルを左ダブルクリックすると起動します。&amp;lt;/br&amp;gt;&lt;br /&gt;
PrePoMax.exeというファイルのショートカットをデスクトップに作ると便利だと思います。&lt;br /&gt;
&lt;br /&gt;
== 公式動画チュートリアル(英語) ==&lt;br /&gt;
公式サイトの「Documentation」からも行けますが、ここにURLを記載します。&amp;lt;/br&amp;gt;&lt;br /&gt;
[https://www.youtube.com/@MatejBorovinsek Matej Borovinšek YouTube Cannnel]&amp;lt;/br&amp;gt;&lt;br /&gt;
[https://www.youtube.com/@feanalyst4302 FEAnalyst YouTube Channel]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 応力解析 ==&lt;br /&gt;
[https://qiita.com/Jun_Tatsuno/items/f59d916b98e823341882 PrePoMaxを用いた部品を連結したAssyの応力解析]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/Sagittarius_Chiron/items/fd806361ceca4864bc79 PrePoMax使用法解説]&lt;br /&gt;
&lt;br /&gt;
== 固有値解析 ==&lt;br /&gt;
[https://qiita.com/Jun_Tatsuno/items/f2bb87eaf3f594b52038 PrePoMaxを用いたモーダル解析]&lt;br /&gt;
&lt;br /&gt;
== 日本語ドキュメント（有志） ==&lt;br /&gt;
[https://speakerdeck.com/juntatsuno/prepomax-v1-dot-1-1-maniyuaru PrePoMax v1.1.1 マニュアル]&lt;br /&gt;
&lt;br /&gt;
== 関連書籍 ==&lt;br /&gt;
[https://www.amazon.co.jp/%E3%80%8CPrePoMax%E3%80%8D%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E5%AE%9F%E8%B7%B5%E6%A7%8B%E9%80%A0%E8%A7%A3%E6%9E%90-%E6%94%B9%E8%A8%82%E7%89%88-OBOOKS-%E6%9F%B4%E7%94%B0-%E8%89%AF%E4%B8%80/dp/4777522156/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;crid=20HSEZ031ITSU&amp;amp;keywords=PrePoMax&amp;amp;qid=1680697869&amp;amp;s=books&amp;amp;sprefix=prepomax%2Cstripbooks%2C184&amp;amp;sr=1-1 &amp;lt;nowiki&amp;gt;「PrePoMax」ではじめる実践構造解析 [改訂版]&amp;lt;/nowiki&amp;gt;]&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenFOAM&amp;diff=826</id>
		<title>OpenFOAM</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenFOAM&amp;diff=826"/>
		<updated>2023-07-01T07:40:29Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: /* リリースノート */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;このページではOpenFOAMについてまとめていきます。&lt;br /&gt;
&lt;br /&gt;
== リリースノート ==&lt;br /&gt;
&lt;br /&gt;
'''OpenCFD'''&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2306リリースノート|OpenFOAM v2306 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2212 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2206 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2112 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2106 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[https://www.notion.so/OF2012-3625e0d8029b40bda20fafe481dcbd95 OpenFOAM v2012 リリースノート]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v2006 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1912 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1906 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1812 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v1806 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''The OpenFOAM Foundation'''&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 9|OpenFOAM 9 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 8 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v7 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM v6.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 4.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 3.0.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM 2.4.0 リリースノート]]&lt;br /&gt;
&lt;br /&gt;
==スターティングガイド==&lt;br /&gt;
[[OpenFOAMについて]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAMのインストール]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/e63d4cf76ea2fea659b2 チュートリアルケースの実行]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/24b8491bf9776c3a27db OpenFOAMで入力できる項目の調べ方]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/e4b13100e15508981a85 OpenFOAMの$FOAM変数]&lt;br /&gt;
&lt;br /&gt;
==困った時は？==&lt;br /&gt;
[https://qiita.com/mmer547/items/7c7c257dcaf2efbc730b OpenFOAM Google Groupに投稿する際に抑えるポイント]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/6b041536e2ac5dd17721 OpenFOAMで計算するネタがない時の探し方]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAMのエラーメッセージの対応]]&lt;br /&gt;
&lt;br /&gt;
==プリプロセス==&lt;br /&gt;
&lt;br /&gt;
===形状作成===&lt;br /&gt;
&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/OpenFOAM%EF%BC%9A%E5%BD%A2%E7%8A%B6%E4%BD%9C%E6%88%90 形状作成ツールまとめ]&lt;br /&gt;
&lt;br /&gt;
===メッシュ===&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/OpenFOAM%E3%81%AE%E3%83%A1%E3%83%83%E3%82%B7%E3%83%A3%E3%83%BC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6 OpenFOAMのメッシャーについて]&lt;br /&gt;
&lt;br /&gt;
[[メッシュ作成:blockMesh]]&lt;br /&gt;
&lt;br /&gt;
[[メッシュ作成:snappyHexMesh]]&lt;br /&gt;
&lt;br /&gt;
[[メッシュ作成:cfMesh]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/9fca38b8e8eadc869bb8 SalomeでOpenFOAMのメッシュを用意する方法]&lt;br /&gt;
&lt;br /&gt;
===境界条件===&lt;br /&gt;
[[境界条件]]&lt;br /&gt;
&lt;br /&gt;
==ソルバ==&lt;br /&gt;
[[simpleFoamについて]]&lt;br /&gt;
&lt;br /&gt;
[[ExecutionTimeとClockTimeについて]]&lt;br /&gt;
&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/SIMPLEC%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E8%A8%88%E7%AE%97%E5%AE%9F%E8%A1%8C%EF%BC%88OpenFOAM3.0.1%EF%BC%89 SIMPLECを使用した計算実行（OpenFOAM3.0.1）]&lt;br /&gt;
&lt;br /&gt;
===並列計算の実行方法===&lt;br /&gt;
&lt;br /&gt;
[[decomposeParDictの中身]]&lt;br /&gt;
&lt;br /&gt;
===エラーメッセージ===&lt;br /&gt;
[[v1806のエラーメッセージ]]&lt;br /&gt;
&lt;br /&gt;
==ポストプロセス==&lt;br /&gt;
[[ログファイルから残差ログを抽出]]&lt;br /&gt;
&lt;br /&gt;
[https://qiita.com/mmer547/items/e463235ddb93f08db68a OpenFOAMのpostProcessについて]&lt;br /&gt;
&lt;br /&gt;
==チュートリアルケース==&lt;br /&gt;
[[チュートリアルケース|チュートリアルケース一覧]]&lt;br /&gt;
&lt;br /&gt;
==カスタマイズ==&lt;br /&gt;
[https://qiita.com/mmer547/items/2997bf8c71fe1e2423c9 OpenFOAM ソースコードの探し方]&lt;br /&gt;
&lt;br /&gt;
==その他==&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/foam-extend_4.0%E3%82%92Bash_on_Ubuntu_on_Windows%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB foam-extend 4.0をBash on Ubuntu on Windowsにインストール]&lt;br /&gt;
&lt;br /&gt;
[https://scrapbox.io/opencae-kansai-memo/ESI_Windows%E7%89%88OpenFOAM%E3%81%AE%E5%B0%8E%E5%85%A5 ESI Windows版OpenFOAMの導入]&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/OpenCAE/Supercomputer-OpenFOAM-Training/-/wikis/home スーパーコンピュータOpenFOAM講習会]&lt;br /&gt;
&lt;br /&gt;
== 関連サービス ==&lt;br /&gt;
=== プリプロセス ===&lt;br /&gt;
[https://www.xsim.info/products/products.html XSim.Work]&lt;br /&gt;
&lt;br /&gt;
== 関連書籍 ==&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEDEXCS-OpenFOAM%E3%83%8F%E3%83%B3%E3%83%89%E3%83%96%E3%83%83%E3%82%AF-%E9%87%8E%E6%9D%91-%E6%82%A6%E6%B2%BB/dp/4621306138/ref=sr_1_5?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-5 オープンCAEのためのDEXCS for OpenFOAMハンドブック]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%81%AB%E3%82%88%E3%82%8B%E7%86%B1%E7%A7%BB%E5%8B%95%E3%81%A8%E6%B5%81%E3%82%8C%E3%81%AE%E6%95%B0%E5%80%A4%E8%A7%A3%E6%9E%90-%E7%AC%AC2%E7%89%88-%E4%B8%80%E8%88%AC%E7%A4%BE%E5%9B%A3%E6%B3%95%E4%BA%BA%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E5%AD%A6%E4%BC%9A/dp/4627691025/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-1 OpenFOAMによる熱移動と流れの数値解析(第2版) ]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%81%AE%E6%AD%A9%E3%81%8D%E6%96%B9-%E6%8A%80%E8%A1%93%E3%81%AE%E6%B3%89%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%EF%BC%88NextPublishing%EF%BC%89-%E5%B7%9D%E7%95%91-%E7%9C%9F%E4%B8%80/dp/4844379526/ref=sr_1_6?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-6　OpenFOAMの歩き方]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9-%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%83%86%E3%83%A9%E3%83%90%E3%82%A4%E3%83%88/dp/4627691610/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-2 OpenFOAMライブラリリファレンス]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-Tomislav-Mari%C2%B4c/dp/4627670915/ref=sr_1_3?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-3 OpenFOAMプログラミング]&lt;br /&gt;
&lt;br /&gt;
[https://www.amazon.co.jp/OpenFOAM%E3%81%AB%E3%82%88%E3%82%8B%E7%86%B1%E7%A7%BB%E5%8B%95%E3%81%A8%E6%B5%81%E3%82%8C%E3%81%AE%E6%95%B0%E5%80%A4%E8%A7%A3%E6%9E%90-%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E5%AD%A6%E4%BC%9A/dp/4627691017/ref=sr_1_4?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;amp;dchild=1&amp;amp;keywords=OpenFOAM&amp;amp;qid=1622731659&amp;amp;s=books&amp;amp;sr=1-4 OpenFOAMによる熱移動と流れの数値解析]&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencae.or.jp/index.php?title=OpenRadioss%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB&amp;diff=816</id>
		<title>OpenRadiossのインストール</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencae.or.jp/index.php?title=OpenRadioss%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB&amp;diff=816"/>
		<updated>2023-01-26T13:12:21Z</updated>

		<summary type="html">&lt;p&gt;Mmer547: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WindowsでLinux版を使用する場合はWSL&amp;lt;ref&amp;gt;https://learn.microsoft.com/ja-jp/windows/wsl/install&amp;lt;/ref&amp;gt;を使用する。&lt;br /&gt;
== バイナリ版のインストール[Linux、WSL] ==&lt;br /&gt;
&lt;br /&gt;
Ubuntuでのみ確認済み。&lt;br /&gt;
&lt;br /&gt;
Githubのページから～linux64.zipをダウンロードして、解凍する。&lt;br /&gt;
&lt;br /&gt;
[https://github.com/OpenRadioss/OpenRadioss/releases OpenRadioss Github]&lt;br /&gt;
&lt;br /&gt;
/optなどに解凍する。&lt;br /&gt;
&lt;br /&gt;
== バイナリ版のインストール[Windows] ==&lt;br /&gt;
&lt;br /&gt;
Githubのページから～Win64.zipをダウンロードして、任意の場所に解凍する。&lt;br /&gt;
&lt;br /&gt;
[https://github.com/OpenRadioss/OpenRadioss/releases OpenRadioss Github]&lt;br /&gt;
&lt;br /&gt;
並列計算を実行する場合は、Intel MPI Libraryをインストールする。&lt;br /&gt;
&lt;br /&gt;
[https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html#mpi Intel MPI Library]&lt;br /&gt;
&lt;br /&gt;
== ソースコードコンパイル ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/OpenRadioss/OpenRadioss/blob/main/HOWTO.md How to Build OpenRadioss]&lt;br /&gt;
&lt;br /&gt;
[https://getwelsim.medium.com/explore-openradioss-the-worlds-first-enterprise-grade-open-source-explicit-dynamics-solver-i-b4c7931a48ed Explore the enterprise-grade open-source solver OpenRadioss I : build in Linux]&lt;br /&gt;
&lt;br /&gt;
==注記==&lt;/div&gt;</summary>
		<author><name>Mmer547</name></author>
	</entry>
</feed>