「OpenFOAM v2412 リリースノート」の版間の差分

ナビゲーションに移動 検索に移動
All words covert to japanese
(snapshot1)
(All words covert to japanese)
 
216行目: 216行目:


=== 新しいGAMGアグロメレーション・キャッシング ===
=== 新しいGAMGアグロメレーション・キャッシング ===
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.
メッシュを動かすケースでは、時間ステップごとに(あるいは圧力補正ごとに)自動的に凝集を再構築します。 しかし、ほとんどのメッシュモーションのケースでは、GAMGアグロメレーションテーブルは、再作成が必要になる前に、いくつかの反復のために保持することができます。 ソリッドボディモーションの場合、凝集ロジックは行列係数にのみ依存するため、テーブルを更新する必要はありません。 キャッシュは新しい updateInterval エントリで有効になります。 これは、ソリッドボディシミュレーションでは非常に大きな数値になります。一般的なメッシュモーションでは、予想されるメッシュクーラント数に基づいて設定する必要があります。
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.
  <code>p
  <code>p
  {
  {
225行目: 224行目:
     updateInterval      100000;
     updateInterval      100000;
  }</code>
  }</code>
For verbose feedback on the agglomeration, activate the debug switches in the system/controlDict
凝集に関する詳細なフィードバックを得るには、system/controlDictのデバッグ・スイッチを有効にしてください。
  <code>DebugSwitches
  <code>DebugSwitches
  {
  {
231行目: 230行目:
     GAMGAgglomeration  1;
     GAMGAgglomeration  1;
  }</code>
  }</code>
faceAreaWeight optimisation
faceAreaWeightの最適化


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.
デフォルトの凝集法は、セルを結ぶ面重みの大きさに基づく「セル」の一対一の組み合わせを採用している。 現在、これは軸合わせされたメッシュ上の凝集境界のジッターを避けるために摂動された面面積ベクトルから派生した面重みを使用しています。


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%:
updateIntervalが1でない場合は、ガウシアンタイプの離散化との整合性を高めるために、スケーリングされていない、摂動されていない顔の面積の大きさを用いて重みが計算される。 例えば、simpleFoamを10回繰り返したincompressible/pisoFoam/SLES/motorBikeのチュートリアルでは、平均約10%のサイクル削減を示しました:


Note that algebraic agglomeration can run with updateInterval; but it
代数的凝集はupdateIntervalで実行できることに注意。


* 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
* それはcyclicA(C)MIを更新せず、粗いレベルでは古いステンシルを使用するため、補間に失敗する。
* is based on the matrix coefficients which are changing during the simulation so would not be constant even during solid-body motion
* それは、シミュレーション中に変化する行列係数に基づいているため、固体の運動中であっても一定ではない。


Tutorials
チュートリアル


* $FOAM_TUTORIALS/incompressible/pimpleFoam/RAS/propeller
* $FOAM_TUTORIALS/incompressible/pimpleFoam/RAS/propeller


Source code
ソースコード


* $FOAM_SRC/finiteVolume/fvMatrices/solvers/GAMGSymSolver/GAMGAgglomerations/faceAreaPairGAMGAgglomeration
* $FOAM_SRC/finiteVolume/fvMatrices/solvers/GAMGSymSolver/GAMGAgglomerations/faceAreaPairGAMGAgglomeration


Merge request
リクエストのマージ


* Merge request #707
* Merge request #707


=== Improved lduMatrix, lduAddressing ===
=== lduMatrix, lduAddressingの改善 ===
The scalar matrix class lduMatrix has been extended to make it easier to work with cell-based algorithms.
スカラー行列クラス lduMatrix が拡張され、セルベースのアルゴリズムがより使いやすくなりました。 アドレス指定 lduAddressing には、下位アドレス指定を返す lowerCSRAddr アクセサが追加され、loSortAddressing を使った追加的なインダイレクトを避けることができます:
The addressing lduAddressing includes a lowerCSRAddr accessor that returns the lower addressing, avoiding the additional indirection using loSortAddressing:
  <code>const labelUList& lduAddressing::lowerCSRAddr() const</code>
  <code>const labelUList& lduAddressing::lowerCSRAddr() const</code>
This is constructed on-the-fly from the lowerAddr() addressing.
これは、lowerAddr()アドレッシングからオンザフライで構築される。


Additionally, the matrix has been extended with a lowerCSR() accessor that returns the corresponding reordering of the lower() coefficients, or can be constructed directly:
さらに、この行列には、対応する lower() 係数の並べ替えを返す lowerCSR() アクセサが追加された:
  <code>const scalarField& lduMatrix::lowerCSR() const</code>
  <code>const scalarField& lduMatrix::lowerCSR() const</code>
Availability of the addressing can be checked using the hasLowerCSR() function.
アドレス指定が可能かどうかは、hasLowerCSR()関数で確認できる。


An example usage is given inside the lduMatrix::Amul routine:
使用例は lduMatrix::Amul ルーチンの中にあります:
  <code>if (hasLowerCSR())
  <code>if (hasLowerCSR())
  {
  {
301行目: 299行目:
     }
     }
  }</code>
  }</code>
Source code
ソースコード


* $FOAM_SRC/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.H
* $FOAM_SRC/OpenFOAM/matrices/lduMatrix/lduAddressing/lduAddressing.H
307行目: 305行目:
* $FOAM_SRC/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixATmul.C
* $FOAM_SRC/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixATmul.C


=== Improved wall distance ===
=== 壁との距離の改善 ===
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.
乱流壁関数などで使用されている壁面近傍距離フィールドが壁面に対して更新され、複数の壁面パッチに面を持つセルの挙動が変更されました。 最近接距離は、セル中心から局所的な壁面、または任意の局所的なエッジまたは点に接続された面までの最小距離として計算されます。
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


* is not parallel consistent
* これは並列一貫性がない
* only considers one face
* これは一面しか見ない


For more consistent behaviour the exact wall distance method should be employed.
より一貫した挙動を得るためには、正確な壁面距離法を採用すべきである。


Previous behaviour (OpenFOAM v2406 and earlier) can be obtained by deactivating the useCombinedWallPatch info switch in etc/controlDict or the local system/controlDict:
以前の動作(OpenFOAM v2406 以前)は、etc/controlDict またはローカルの system/controlDict の useCombinedWallPatch 情報スイッチを無効にすることで得られます:
  <code>OptimisationSwitches
  <code>OptimisationSwitches
  {
  {
     useCombinedWallPatch    0;
     useCombinedWallPatch    0;
  }</code>
  }</code>
With a skewed/tetified version of the cavity mesh, v2406 wall distance:
ソースコード
 
The new behaviour looks across the side patches as well as the top patch:
 
Source code


* $FOAM_SRC/meshTools/cellDist/cellDistFuncs.C
* $FOAM_SRC/meshTools/cellDist/cellDistFuncs.C
334行目: 326行目:
* $FOAM_SRC/meshTools/cellDist/patchWave/patchWave.C
* $FOAM_SRC/meshTools/cellDist/patchWave/patchWave.C


Merge request
リクエストのマージ


* Merge request #700
* Merge request #700


Issue
問題


* Issue #3215
* Issue #3215


=== Community contribution: Improved adjoint optimisation ===
=== 地域貢献: アドジョイント最適化の改善 ===
OpenFOAM v2412 adds some quality-of-life changes to the adjoint library.
OpenFOAM v2412では、アジョイント・ライブラリにいくつかの機能変更が加えられました。 トポロジー最適化の設計変数の初期値を0/alphaフィールドから読み込めるようになり、topoSet/setFieldsユーティリティで簡単に設定できるようになりました。 以前は、0/uniform/topOVarsを通してのみ可能でしたが、これは操作が難しくなっています。
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.


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.
ISQPの数学的最適化問題に追加され、実現可能性を保証するためにMMAに追加された項の乗数('c'と命名)は、関数1で与えられるようになり、最適化ループ全体で操作できるようになりました。 典型的な例としては、実現可能性よりも最適性を重視するために、最初の数サイクルの最適化では小さな値に設定し、徐々に大きくしていきます。


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.
ISQPで近似ヘシアンの減衰を無効にするオプションを追加。 一般的なケースでは、これは避けるべきですが、いくつかのフリンジケースではアルゴリズムを加速させることができます。


Tutorials
チュートリアル


* $FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x-init
* $FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x-init


Source code
ソースコード


* $FOAM_SRC/optimisation/adjointOptimisation
* $FOAM_SRC/optimisation/adjointOptimisation


Merge request
リクエストのマージ


* Merge request #710
* Merge request #710


=== New zoneBlended scheme ===
=== 新ゾーンブレンド・スキーム ===
The new zoneBlended scheme enables users to apply differencing schemes per-face-zone. Schemes are set in dictionary format according to:
新しいzoneBlendedスキームにより、ユーザーはフェイスゾーンごとに差分スキームを適用できる。 スキームは辞書形式で設定される:
  <code>divSchemes
  <code>divSchemes
  {
  {
379行目: 370行目:
     .
     .
  }</code>
  }</code>
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.
デフォルトのエントリーは背景スキームを指定します。追加のスキームをフェイスゾーンごとに設定できます。例えば、スキーム1はフェイスゾーン1に適用され、スキーム2はフェイスゾーン2に適用されます。


Source code
ソースコード


* $FOAM_SRC/finiteVolume/interpolation/surfaceInterpolation/schemes/zoneBlended
* $FOAM_SRC/finiteVolume/interpolation/surfaceInterpolation/schemes/zoneBlended


== Solvers and physical models ==
== ソルバーと物理モデル ==


=== Community contribution: Improved shielding function for SA-DDES turbulence model ===
=== 地域貢献: SA-DDES乱流モデルの遮蔽機能の改善 ===
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 "shielding" 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 "modelled stress depletion" and "grid-induced separation" in the literature.
DDES(Delayed Detached-Eddy Simulation)モデル[1]は、RANS/LESのハイブリッドアプローチであり、RANSによってすべての付着境界層をモデル化し、LESによって大きく分離した流れ領域をモデル化することを目的としています。 付着境界層内部でのLESモードの起動を防止するために、「遮蔽」機能と呼ばれる追加的なセーフガード機能が実装されています。 残念ながら,標準的な定式化[1]は,細かい格子上で崩壊することがあり,壁せん断応力の低下や,流れの早期剥離につながる可能性がある. これらの現象は、文献ではしばしば "モデル化された応力の枯渇 ""グリッド誘起剥離 "と呼ばれています。 Deck & Renard [2]は最近、よりロバストな挙動を提供しながら、分離したせん断層でのLESへの迅速な切り替えを可能にする、改良された遮蔽関数を提案しました。 この定式化は、SA-DDESモデルの変形であるZDESモード2(2020)乱流モデル用に開発されました。 図は,後縁が分離した NACA4412 翼周りの流れに対 して,改良された遮蔽機能の利点を示しています. 吸込側のグリッドが流れ方向とスパン方向で強くリファインされているため,標準の遮蔽機能が後退し,流れの剥離が早期に発生している. 一方,改良された遮蔽関数は,吸込側の付着境界層領域全体で RANS モードを保持し,NASA コード CFL3D の参照 RANS とよく一致する.
Deck & 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.


following turbulence modelling features are included in the v2412 release:
以下の乱流モデリング機能がv2412リリースに含まれています:


* Improved shielding function formulation of Deck & Renard [2], implemented for SpalartAllmarasDDES, activated via the new option “shielding” (keyword “standard” selects the standard function [1], “ZDES2020” selects the improved formulation [2]).
* Improved shielding function formulation of Deck & Renard [2], implemented for SpalartAllmarasDDES, activated via the new option “shielding” (keyword “standard” selects the standard function [1], “ZDES2020” selects the improved formulation [2]).
* An additional option “usefP2” activates a more robust shielding mode for the Deck & Renard formulation (detailed in equation A.9 of [2]).
* An additional option “usefP2” activates a more robust shielding mode for the Deck & Renard formulation (detailed in equation A.9 of [2]).


Example usage
使用例
  <code>simulationType LES;
  <code>simulationType LES;
  LES
  LES
413行目: 403行目:
     printCoeffs      on;
     printCoeffs      on;
  }</code>
  }</code>
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.
2]で示された定式化はSAベースのDDESに特化して導き出されたものであるため、改善された遮蔽関数はkOmegaSSTDDESモデルには実装されていないことに注意してください。


Tutorial
チュートリアル


* $FOAM_TUTORIALS/incompressible/pimpleFoam/LES/NACA4412
* $FOAM_TUTORIALS/incompressible/pimpleFoam/LES/NACA4412


Attribution
帰属


* The improved shielding function of Deck & Renard (2020) [2] was implemented by Upstream CFD GmbH and integrated into OpenFOAM in collaboration with ESI-UK Ltd with funding by Volkswagen AG.
* The improved shielding function of Deck & Renard (2020) [2] was implemented by Upstream CFD GmbH and integrated into OpenFOAM in collaboration with ESI-UK Ltd with funding by Volkswagen AG.


References
参考文献


* [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.
* [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.
* [2] Deck, S., & 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.
* [2] Deck, S., & 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.


=== Improved Lagrangian injection model: coneNozzleInjection ===
=== 改良されたラグランジュ射出モデル:コーンノズル・インジェクション(coneNozzleInjection ===
This release introduces two minor enhancements to the coneNozzleInjection model:
このリリースでは、coneNozzleInjectionモデルに2つのマイナーな改良が加えられました:


* A new injection method that distributes particles uniformly at angular intervals across a disc;
* 粒子をディスク全体に角度間隔で均一に分布させる新しい射出方法;
* 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.
* 粒子噴射にインジェクターの推定速度を含める。 静的インジェクタの入出力動作に変更はありませんが、移動インジェクタから噴射される粒子の速度にインジェクタの速度が含まれるようになりました。


A minimal example usage is as follows:
最小限の使用例は以下の通り:
  <code>injectionModels
  <code>injectionModels
  {
  {
449行目: 439行目:
     }
     }
  }</code>
  }</code>
Source code
ソースコード


* $FOAM_SRC/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.H
* $FOAM_SRC/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection/ConeNozzleInjection.H


Merge request
リクエストのマージ


* Merge request #719
* Merge request #719


=== Improved solid-body motion function: tabulated6DoFMotion ===
=== 改良されたソリッドボディモーション機能:tabulated6DoFMotion ===
The tabulated6DoFMotion model now includes a linear interpolation option. A minimal example usage is as follows:
表6DoFMotionモデルに線形補間オプションが追加されました。 最小限の使用例を以下に示します:
  <code>solidBodyMotionFunction tabulated6DoFMotion;
  <code>solidBodyMotionFunction tabulated6DoFMotion;
   
   
  interpolationScheme    linear;  // spline;</code>
  interpolationScheme    linear;  // spline;</code>
Source code
ソースコード


* $FOAM_SRC/meshTools/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.H
* $FOAM_SRC/meshTools/solidBodyMotionFunctions/tabulated6DoFMotion/tabulated6DoFMotion.H


=== New finite-area framework: Film-separation models ===
=== 新しい有限領域のフレームワーク: 膜分離モデル ===
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.
有限面積ベースのフィルム曲率分離モデルが更新され、シャープエッジ用の新しいフィルム分離モデルが追加された。 これらの更新により、さまざまな幾何学的条件や流動条件下での膜分離予測の精度と柔軟性が向上しました。


Key changes and additions:
主な変更点と追加点


* Owen-Ryley model:
* オーウェン-ライリーモデル:
** The existing curvatureSeparation model has been re-implemented as the OwenRyleyModel, based on the work of Owen & Ryley (1983). This model assumes:
** 既存のcurvatureSeparationモデルは、Owen & Ryley (1983)の研究に基づき、OwenRyleyModelとして再実装された。 このモデルは次のように仮定しています:
*** 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.
*** フィルムが表面から剥がれると、すぐに細かい霧状の液滴になる。 その結果、液体が凝集塊として離脱するシナリオを正確に表現できない可能性がある。
*** The film flows around a rounded corner with a fixed radius, potentially limiting its applicability at sharp corners where curvature is not well-defined.
*** フィルムは一定の半径を持つ丸みを帯びたコーナーの周囲を流れるため、曲率が明確でない鋭角のコーナーでは適用が制限される可能性がある。
*** Films are thinner than 1e-4 m, with viscous effects and surface disturbances neglected.
*** 膜厚は1e-4 mより薄く、粘性効果と表面擾乱は無視される。
*** Uniform film velocity and thickness.
*** 均一な膜速度と膜厚。
*** The separation criterion is not explicitly formulated, but rather inferred based on the model’s assumptions.
*** 分離基準は明示的に定式化されるのではなく、モデルの仮定に基づいて推測される。
* New film-separation model for sharp edges:
* シャープエッジのための新しいフィルム分離モデル:
** 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):
** 新しいモデルFriedrichModelを導入し、シャープエッジでの膜分離特性を計算し、完全膜分離と部分膜分離の両方のシナリオをカバーする。 このモデルは、Friedrichら(2008)とZhangら(2018)の研究に基づいている:
*** Friedrich et al. (2008):
*** Friedrichら(2008):
**** Developed a separation criterion rooted in force equilibrium within a control volume at the detachment point.
**** 剥離点における制御体積内の力の平衡に根ざした剥離基準を開発。
**** Assumes a maximum film thickness of 1e-4 m.
**** 最大膜厚を1e-4 mと仮定。
**** Considers surface tension, gravity, and film inertia.
**** 表面張力、重力、フィルムの慣性を考慮する。
**** Known to be relatively reliable, though it can predict premature rupture.
**** 早期破裂を予測することはできるが、比較的信頼できることが知られている。
**** Serves as the separation method implemented in ANSYS Forte 18.2.
**** ANSYS Forte 18.2 に実装されている分離メソッドとして機能します。
*** Zhang et al. (2018):
*** Zhangら(2018):
**** 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.
**** 質量分率基準を導入することで、Friedrichらのモデルを強化した。 細胞内の膜全体が同時に剥離すると仮定するモデルとは異なり、Zhangらのアプローチは、これらの基準に基づいて膜の一部のみを剥離する。 これにより、フィルムが実際にどの程度剥離するかについて、より現実的な予測が可能になった。


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.
包括的な直列および並列テストケースは、ロバストなコーナーおよび分離同定を確実にするために実施され、流れ方向に対して様々な形状や向きの鋭角エッジを持つケース、複数の空間分解能および並列化構成を含む。


As a result, users can expect improved consistency and reliability when simulating film-separation phenomena, regardless of mesh complexity or computational setup.
その結果、ユーザーは、メッシュの複雑さや計算設定に関係なく、膜分離現象をシミュレーションする際の一貫性と信頼性の向上を期待することができます。


A minimal example usage is as follows:
最小限の使用例は以下の通り:
  <code>injectionModels
  <code>injectionModels
  {
  {
506行目: 496行目:
     deltaByR1Min      0;
     deltaByR1Min      0;
  }</code>
  }</code>
Source code
ソースコード


* $FOAM_SRC/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/filmSeparation/filmSeparationModels
* $FOAM_SRC/regionFaModels/liquidFilm/subModels/kinematic/injectionModel/filmSeparation/filmSeparationModels


Tutorial
チュートリアル


* $FOAM_TUTORIALS/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers
* $FOAM_TUTORIALS/lagrangian/kinematicParcelFoam/pitzDailyWithSprinklers


Merge request
リクエストのマージ


* Merge request #714
* Merge request #714


=== Improved simpleFoam: new dynamicMesh support ===
=== simpleFoamの改良:新しいdynamicMeshのサポート ===
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.
simpleFoamはpimpleFoamと同様にdynamicFvMeshをサポートするようになりました。 constant/dynamicMeshDictがあればそれを読み込み、繰り返しごとにupdate()ルーチンを呼び出します。 これにより、例えば、動的なメッシュのリファインメント/アンリファインメントを用いた定常シミュレーションが可能になります。


==== More information ====
==== 詳細情報 ====


* Issue #3269
* Issue #3269


== Post-processing ==
== 後処理 ==


=== New report generation ===
=== 新しいレポート作成 ===
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 <nowiki>{{ENTRY}}</nowiki> are replaced (case insensitive). A set of common built-ins entries beginning with OF_ are provided, e.g.
foamReport関数オブジェクトは、OpenFOAMの実行データを収集するためのテンプレートベースのテキスト置換システムを提供します。 ユーザーが提供するテンプレートファイルは、マークダウン(.md)、ウェブ(.html)、ラテックス(.tex)などのプレーンテキストファイルの形式をとることができます。 ダブルハンドル構文{{ENTRY}}を使用して提供された項目は置換されます(大文字と小文字は区別されません)。 OF_で始まる一般的な組み込みエントリのセットが提供されます。


* OF_HOST: Host machine name
* OF_HOST: ホストマシン名
* OF_CASE_NAME: Case name
* OF_CASE_NAME: ケース名
* OF_API: OpenFOAM API level
* OF_API: OpenFOAM APIレベル
* OF_DATE_START: Date when job was started
* OF_DATE_START: ジョブ開始日
* OF_CASE_PATH: file path to case
* OF_CASE_PATH: ケースへのファイルパス
* ...
* ...


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:
組み込みキーとユーザー提供キーの完全なセットは、debugKeysエントリーを使用して書き込むことができる。 ユーザー定義の置換は辞書形式でリストされ、置換モデルには以下が含まれる:


* fileRegEx : regular expression from file
* fileRegEx : ファイルからの正規表現
* functionObjectValue : retrieve function object result
* functionObjectValue : 関数オブジェクトの結果を取り出す
* dictionaryValue : value from dictionary - file-based or from registry lookup
* dictionaryValue : 辞書からの値 - ファイルベースまたはレジストリ検索から
* environmentVariable : replace keyword with environment variable
* environmentVariable : キーワードを環境変数に置き換える
* userValue : replace keyword with user-supplied string:
* userValue : キーワードをユーザが指定した文字列に置き換える:


Example usage based on a markdown template:
マークダウン・テンプレートに基づく使用例:
   
   
  <code>foamReport1
  <code>foamReport1
611行目: 601行目:
     ...
     ...
  }</code>
  }</code>
Example markdown-based template file:
マークダウン・ベースのテンプレート・ファイルの例:
  <code># <nowiki>{{OF_EXECUTABLE}}</nowiki> : <nowiki>{{OF_CASE_NAME}}</nowiki> tutorial
  <code># <nowiki>{{OF_EXECUTABLE}}</nowiki> : <nowiki>{{OF_CASE_NAME}}</nowiki> tutorial
   
   
  - Case: <nowiki>{{OF_CASE_PATH}}</nowiki>
  - Case: : <nowiki>{{OF_CASE_PATH}}</nowiki>
  - Submission: <nowiki>{{OF_CLOCK_START}}</nowiki> on <nowiki>{{OF_DATE_START}}</nowiki>
  - Submission: <nowiki>{{OF_CLOCK_START}}</nowiki> on <nowiki>{{OF_DATE_START}}</nowiki>
  - Report time: <nowiki>{{OF_CLOCK_NOW}}</nowiki> on <nowiki>{{OF_DATE_NOW}}</nowiki>
  - Report time: <nowiki>{{OF_CLOCK_NOW}}</nowiki> on <nowiki>{{OF_DATE_NOW}}</nowiki>
   
   
  ---
  ---
   
   
<nowiki>##</nowiki> Run information
   
   
  <nowiki>| Property      |</nowiki> Value              |
 
<nowiki>|----------------|--------------------|</nowiki>
  <nowiki>##</nowiki> Run information
<nowiki>| Host          |</nowiki> <nowiki>{{OF_HOST}}</nowiki>        |
   
<nowiki>| Processors    |</nowiki> <nowiki>{{OF_NPROCS}}</nowiki>      |
<nowiki>| Time steps    |</nowiki> <nowiki>{{OF_TIME_INDEX}}</nowiki>  |
  <nowiki>| Property      |</nowiki> Value              |
<nowiki>| Initial deltaT |</nowiki> <nowiki>{{initial_deltaT}}</nowiki> |
  <nowiki>|----------------|--------------------|</nowiki>
<nowiki>| Current deltaT |</nowiki> <nowiki>{{OF_TIME_DELTAT}}</nowiki> |
  <nowiki>| Host          |</nowiki> <nowiki>{{OF_HOST}}</nowiki>        |
<nowiki>| Execution time |</nowiki> <nowiki>{{executionTime}}</nowiki>  |
  <nowiki>| Processors    |</nowiki> <nowiki>{{OF_NPROCS}}</nowiki>      |
  <nowiki>| Time steps    |</nowiki> <nowiki>{{OF_TIME_INDEX}}</nowiki>  |
  <nowiki>| Initial deltaT |</nowiki> <nowiki>{{initial_deltaT}}</nowiki> |
  <nowiki>| Current deltaT |</nowiki> <nowiki>{{OF_TIME_DELTAT}}</nowiki> |
  <nowiki>| Execution time |</nowiki> <nowiki>{{executionTime}}</nowiki>  |
   
   
  ---
  ---
   
   
<nowiki>##</nowiki> OpenFOAM information
   
   
  <nowiki>| Property      |</nowiki> Value              |
 
<nowiki>|----------------|--------------------|</nowiki>
  <nowiki>##</nowiki> OpenFOAM information
<nowiki>| Version        |</nowiki> <nowiki>{{OF_VERSION}}</nowiki>    |
<nowiki>| API            |</nowiki> <nowiki>{{OF_API}}</nowiki>        |
   
<nowiki>| Patch          |</nowiki> <nowiki>{{OF_PATCH}}</nowiki>      |
  <nowiki>| Property      |</nowiki> Value              |
<nowiki>| Build          |</nowiki> <nowiki>{{OF_BUILD}}</nowiki>      |
  <nowiki>|----------------|--------------------|</nowiki>
<nowiki>| Architecture  |</nowiki> <nowiki>{{OF_BUILD_ARCH}}</nowiki>  |
  <nowiki>| Version        |</nowiki> <nowiki>{{OF_VERSION}}</nowiki>    |
  <nowiki>| API            |</nowiki> <nowiki>{{OF_API}}</nowiki>        |
  <nowiki>| Patch          |</nowiki> <nowiki>{{OF_PATCH}}</nowiki>      |
  <nowiki>| Build          |</nowiki> <nowiki>{{OF_BUILD}}</nowiki>      |
  <nowiki>| Architecture  |</nowiki> <nowiki>{{OF_BUILD_ARCH}}</nowiki>  |
   
   
  ---
  ---
   
   
<nowiki>##</nowiki> Mesh statistics
   
   
  <nowiki>| Property          |</nowiki> Value                |
 
<nowiki>|-------------------|----------------------|</nowiki>
  <nowiki>##</nowiki> Mesh statistics
<nowiki>| Bounds            |</nowiki> <nowiki>{{OF_MESH_BOUNDS_MIN}}</nowiki><nowiki>{{OF_MESH_BOUNDS_MAX}}</nowiki> |
   
<nowiki>| Number of cells  |</nowiki> <nowiki>{{OF_MESH_NCELLS}}</nowiki>  |
<nowiki>| Number of faces  |</nowiki> <nowiki>{{OF_MESH_NFACES}}</nowiki>  |
  <nowiki>| Property          |</nowiki> Value                |
<nowiki>| Number of points  |</nowiki> <nowiki>{{OF_MESH_NPOINTS}}</nowiki>  |
  <nowiki>|-------------------|----------------------|</nowiki>
<nowiki>| Number of patches |</nowiki> <nowiki>{{OF_MESH_NPATCHES}}</nowiki> |
  <nowiki>| Bounds            |</nowiki> <nowiki>{{OF_MESH_BOUNDS_MIN}}</nowiki><nowiki>{{OF_MESH_BOUNDS_MAX}}</nowiki> |
  <nowiki>| Number of cells  |</nowiki> <nowiki>{{OF_MESH_NCELLS}}</nowiki>  |
  <nowiki>| Number of faces  |</nowiki> <nowiki>{{OF_MESH_NFACES}}</nowiki>  |
  <nowiki>| Number of points  |</nowiki> <nowiki>{{OF_MESH_NPOINTS}}</nowiki>  |
  <nowiki>| Number of patches |</nowiki> <nowiki>{{OF_MESH_NPATCHES}}</nowiki> |
   
   
  ---
  ---
   
   
<nowiki>##</nowiki> Linear solvers
   
   
  <nowiki>| Property |</nowiki> Value          | tolerance(rel)  | Tolerance(abs)      |
 
<nowiki>|----------|----------------|------------------|---------------------|</nowiki>
  <nowiki>##</nowiki> Linear solvers
<nowiki>| p        |</nowiki> `<nowiki>{{solver_p}}</nowiki>` | <nowiki>{{solver_p_tol}}</nowiki> | <nowiki>{{solver_p_reltol}}</nowiki> |
   
<nowiki>| U        |</nowiki> `<nowiki>{{solver_U}}</nowiki>` | <nowiki>{{solver_u_tol}}</nowiki> | <nowiki>{{solver_u_reltol}}</nowiki> |
  <nowiki>| Property |</nowiki> Value          | tolerance(rel)  | Tolerance(abs)      |
  <nowiki>|----------|----------------|------------------|---------------------|</nowiki>
  <nowiki>| p        |</nowiki> `<nowiki>{{solver_p}}</nowiki>` | <nowiki>{{solver_p_tol}}</nowiki> | <nowiki>{{solver_p_reltol}}</nowiki> |
  <nowiki>| U        |</nowiki> `<nowiki>{{solver_U}}</nowiki>` | <nowiki>{{solver_u_tol}}</nowiki> | <nowiki>{{solver_u_reltol}}</nowiki> |
   
   
  ---
  ---
   
   
  <nowiki>##</nowiki> Numerical scehemes
   
 
  <nowiki>##</nowiki> Numerical scehemes
   
   
  The chosen divergence schemes comprised:
  The chosen divergence schemes comprised:
   
   
  [[利用者:Mmer547|mmer547]] ([[利用者・トーク:Mmer547|トーク]])
   
<nowiki>{{divSchemes}}</nowiki>
 
[[利用者:Mmer547|mmer547]] ([[利用者・トーク:Mmer547|トーク]])
  [[利用者:Mmer547|mmer547]] ([[利用者・トーク:Mmer547|トーク]])
  <nowiki>{{divSchemes}}</nowiki>
  [[利用者:Mmer547|mmer547]] ([[利用者・トーク:Mmer547|トーク]])
   
   
  ---
  ---
   
   
  <nowiki>##</nowiki> Graphs
   
 
  <nowiki>##</nowiki> Graphs
   
   
  Residuals
  Residuals
   
   
  <nowiki>![]({{OF_CASE_PATH}}</nowiki>/postProcessing/residualGraph1/<nowiki>{{OF_TIME}}</nowiki>/residualGraph1.svg)
   
 
  <nowiki>![]({{OF_CASE_PATH}}</nowiki>/postProcessing/residualGraph1/<nowiki>{{OF_TIME}}</nowiki>/residualGraph1.svg)
   
   
  ---
  ---
   
   
  <nowiki>##</nowiki> Results
   
 
  <nowiki>##</nowiki> Results
   
   
  Forces
  Forces
   
   
  <nowiki>![]({{OF_CASE_PATH}}</nowiki>/postProcessing/forceCoeffsGraph1/<nowiki>{{OF_TIME}}</nowiki>/forceCoeffsGraph1.svg)
   
 
  <nowiki>![]({{OF_CASE_PATH}}</nowiki>/postProcessing/forceCoeffsGraph1/<nowiki>{{OF_TIME}}</nowiki>/forceCoeffsGraph1.svg)
   
   
  ---</code>
  ---</code>
Source code
ソースコード


* $FOAM_SRC/functionObjects/utilities/foamReport
* $FOAM_SRC/functionObjects/utilities/foamReport


Tutorial
チュートリアル


* $FOAM_TUTORIALS/incompressible/simpleFoam/motorBike
* $FOAM_TUTORIALS/incompressible/simpleFoam/motorBike


Merge request
リクエストのマージ


* Merge request #716
* Merge request #716


=== New graph generation ===
=== 新しいグラフ生成 ===
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.
graphFunctionObjectは、ユーザーが関数オブジェクトの結果値のSVGグラフを生成することを可能にします。例えば、進化の残差や、力係数のような削減されたデータを表示します。
 


A minimal example is shown below:
最小限の例を以下に示す:
  <code>// Generate the result values
  <code>// Generate the result values
  solverInfo1
  solverInfo1
774行目: 787行目:
     //...
     //...
  }</code>
  }</code>
Source code
ソースコード


* $FOAM_SRC/functionObjects/utilities/graphFunctionObject
* $FOAM_SRC/functionObjects/utilities/graphFunctionObject


Tutorial
チュートリアル


* $FOAM_TUTORIALS/incompressible/simpleFoam/motorBike
* $FOAM_TUTORIALS/incompressible/simpleFoam/motorBike


=== New finite-area function object: surfaceCourantNumber ===
=== 新しい有限領域関数オブジェクト:surfaceCourantNumber ===
A new finite-area function object, surfaceCourantNumber, calculates the surface Courant number field at finite-area face centres.
新しい有限面積関数オブジェクトsurfaceCourantNumberは、有限面積の面中心で表面のクーラント数フィールドを計算します。 これは、liquidFilmFoamソルバーで使用されているような、エッジ中心でクーラント数を計算するアプローチからの概念的な転換を意味します。 面中心でクーラント数を評価することにより、surfaceCourantNumberは、より局所的で、より正確な表面ベースの流れ解析の指標を提供することができます。
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.


A minimal example usage is as follows:
最小限の使用例は以下の通り:
  <code>surfaceCourantNumber1
  <code>surfaceCourantNumber1
  {
  {
802行目: 814行目:
     ...
     ...
  }</code>
  }</code>
Source code
ソースコード


* $FOAM_SRC/regionFaModels/functionObjects/surfaceCourantNumber/surfaceCourantNumber.H
* $FOAM_SRC/regionFaModels/functionObjects/surfaceCourantNumber/surfaceCourantNumber.H


Tutorial
チュートリアル


* $FOAM_TUTORIALS/finiteArea/liquidFilmFoam/cylinder
* $FOAM_TUTORIALS/finiteArea/liquidFilmFoam/cylinder


Merge request
リクエストのマージ


* Merge request #706
* Merge request #706


=== Improved solver function objects: Outer-loop convergence check ===
=== ソルバー関数オブジェクトの改良 アウターループ収束チェック ===
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.
ソルバー関数オブジェクト(scalarTransport、energyTransport、electricPotential)に外部ループの収束チェック機能が追加されました。 この改良により、収束が達成された時点で不要なループを排除することで、計算オーバーヘッドを削減し、解法プロセスを合理化することができます。 最小限の使用例を以下に示します:
A minimal example usage is as follows:
  <code>scalarTransport1
  <code>scalarTransport1
  {
  {
823行目: 834行目:
     ...
     ...
  }</code>
  }</code>
Source code
ソースコード


* $FOAM_SRC/functionObjects/solvers/scalarTransport/scalarTransport.H
* $FOAM_SRC/functionObjects/solvers/scalarTransport/scalarTransport.H
829行目: 840行目:
* $FOAM_SRC/functionObjects/solvers/electricPotential/electricPotential.H
* $FOAM_SRC/functionObjects/solvers/electricPotential/electricPotential.H


Merge request
リクエストのマージ


* Merge request #699
* Merge request #699


== Parallel ==
== パラレル ==


=== Improved Non-Blocking Exchange (NBX) ===
=== ノンブロッキング・エクスチェンジ(NBX)の改善 ===
In OpenFOAM-v2306 an experimental 'non-blocking consensus exchange' (NBX) option was introduced - see configuration switches
OpenFOAM-v2306では、実験的な「ノンブロッキング・コンセンサス交換」(NBX)オプションが導入されました。 8192コアに複数のcyclicAMIがあり、(etc/controlDictまたはローカルシステム/controlDictに)エントリがある場合です:
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):
  <code>OptimisationSwitches
  <code>OptimisationSwitches
  {
  {
849行目: 859行目:
     pbufs.tuning    1;
     pbufs.tuning    1;
  }</code>
  }</code>
Provided the following timings:
以下の時間帯を提供:
{| class="wikitable"
{| class="wikitable"
|NBX
|NBX
860行目: 870行目:
|18k
|18k
|}
|}
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()).
NBXは、「受信と消費」の順序が「送信の順序」と同じであることを保証していない。 これは、cyclicAMIのジオメトリなど、長いメッセージではより敏感であり、一意の「タグ」(デフォルトのPstream::msgType()ではない)を確保するように注意しなければならない。


Source code
ソースコード


* $FOAM_SRC/meshTools/AMIInterpolation/AMIInterpolation
* $FOAM_SRC/meshTools/AMIInterpolation/AMIInterpolation


Merge request
リクエストのマージ


* Merge request #704
* Merge request #704


=== Improved finite-area framework ===
=== 改良された有限領域フレームワーク ===
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.
いくつかの有限領域フレームワークルーチンは、歪度や非直交性に関係なく、平面および非平面有限領域メッシュに影響を与え、並列処理時に一貫性のない挙動を示します。 これらの不整合は、主に内部エッジとプロセッサエッジに適用されるアルゴリズムの違いから生じています。 例えば、非平面有限面積メッシュのコーナーエッジが2つのプロセッサ間で共有されている場合、接線方向に微妙な正負の摂動が生じることがあります。 この摂動は時間の経過とともに伝播し、膜分離のような予期せぬ流れ挙動を引き起こす可能性があります。
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.


A series of carefully tested commits improve parallel consistency, mainly to address the following core routines:
入念にテストされた一連のコミットは、主に以下のコアルーチンに対処するために、並列一貫性を改善した:
  <code>makeLPN
  <code>makeLPN
  makeWeights
  makeWeights
880行目: 889行目:
  makeCorrectionVectors
  makeCorrectionVectors
  makeSkewCorrectionVectors</code>
  makeSkewCorrectionVectors</code>
Source code
ソースコード


* $FOAM_SRC/finiteArea/faMesh/faMeshDemandDrivenData.C
* $FOAM_SRC/finiteArea/faMesh/faMeshDemandDrivenData.C
* $FOAM_SRC/finiteArea/faMesh/faPatches/constraint/processor/processorFaPatch.C
* $FOAM_SRC/finiteArea/faMesh/faPatches/constraint/processor/processorFaPatch.C


Merge request
リクエストのマージ


* Merge request #708
* Merge request #708


=== Improved reconstructParMesh ===
=== reconstructParMesh の改良 ===
The utility reconstructParMesh can reconstruct finite-area ('faMesh') meshes, useful when the finite-area mesh is generated in parallel.
reconstructParMeshユーティリティは、有限面積('faMesh')メッシュを再構築することができ、有限面積メッシュが並列に生成される場合に便利です。 ソースコード
Source code


* $FOAM_UTILITIES/parallelProcessing/reconstructParMesh
* $FOAM_UTILITIES/parallelProcessing/reconstructParMesh


Merge request
リクエストのマージ


* Merge request #711
* Merge request #711


=== Improved distributed tri-surfaces ===
=== 改良された分散トライサーフェス ===
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:
distributedTriSurfaceMeshは、例えばsystem/snappyHexMeshDictのように、関連する辞書で分解方法を指定することで、他のシミュレーションとは異なる分解方法で実行できるようになりました:
  <code>box
  <code>box
  {
  {
911行目: 919行目:
     n                  (2 2 2);
     n                  (2 2 2);
  }</code>
  }</code>
It can optionally run without duplicating triangles by specifying
を指定することで、三角形を複製せずに実行することもできます。
  <code>decomposeUsingBbs  false;</code>
  <code>decomposeUsingBbs  false;</code>
This avoids excessive memory usage, and stores a per-vertex normal and so can be extended to have smooth normals.
これは過剰なメモリ使用を回避し、頂点ごとの法線を保存するので、滑らかな法線を持つように拡張できる。


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.
この2つの変更により、単純なメッシュで非並列または並列を実行しても、同じ結果が得られるようになった。 下の図では、非平行メッシュを青い面で、平行メッシュを赤い線で表しています。


Tutorials
チュートリアル


* $FOAM_TUTORIALS/mesh/snappyHexMesh/distributedTriSurfaceMesh
* $FOAM_TUTORIALS/mesh/snappyHexMesh/distributedTriSurfaceMesh


Source code
ソースコード


* $FOAM_SRC/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.H
* $FOAM_SRC/parallel/distributed/distributedTriSurfaceMesh/distributedTriSurfaceMesh.H


Merge request
リクエストのマージ


* Merge request #720
* Merge request #720


== Usability ==
== ユーザビリティ ==


=== Updated to C++17 ===
=== C++17に更新 ===
The minimum C++ standard has been increased from C++14 to C++17 to help support ongoing GPU developments
現在進行中のGPU開発をサポートするため、C++の最低規格がC++14からC++17に引き上げられた。


* Commit: #44f7a726
* コミット: #44f7a726
* Source: $WM_PROJECT_DIR/wmake/rules
* ソース: $WM_PROJECT_DIR/wmake/rules


=== New tutorial demonstrations ===
=== 新しいチュートリアルのデモンストレーション ===


==== missingCorner ====
==== ミッシングコーナー ====
This is a simple tutorial to showcase various mesh utilities:
これは様々なメッシュ・ユーティリティを紹介するシンプルなチュートリアルです:


* cellDecomposition functionObject to create a tet mesh
* cellDecomposition関数四角形メッシュを作成するオブジェクト
* polyDualMesh to convert the tets to polyhedra
* テットを多面体に変換するpolyDualMesh
* surfaceMeshExtract to create additional pointPatches
* surfaceMeshExtractで追加のポイントパッチを作成する。
* 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.
* moveDynamicMeshでメッシュを少し変形させる。 メッシュのモーフィングは、特徴制約を無視したラプラシアン点スムージングを使って行われるため、メッシュの品質を向上させるのに悪い働きをします。


Source code
ソースコード


* $FOAM_SRC/functionObjects/field/cellDecomposer
* $FOAM_SRC/functionObjects/field/cellDecomposer
* $FOAM_UTILITIES/mesh/manipulation/polyDualMesh
* $FOAM_UTILITIES/mesh/manipulation/polyDualMesh


Tutorial
チュートリアル


* $FOAM_TUTORIALS/mesh/polyDualMesh/missingCorner
* $FOAM_TUTORIALS/mesh/polyDualMesh/missingCorner


==== damBreakLeakage ====
==== ダム決壊 ====
This is a variant of the damBreak tutorial to showcase using cyclicACMI to control flow. In this tutorial
これはdamBreakチュートリアルの変形で、cyclicACMIを使ってフローをコントロールすることを紹介している。 このチュートリアルでは


* additional (cyclicACMI) baffles block the flow of the liquid
* 追加の(cyclicACMI)バッフルが液体の流れを遮断する。
* at time 0.5s a set of faces at the bottom half of the blockage open
* 時刻0.5秒、閉塞部の下半分の面が開く
* this is done through a cyclicACMI which uses the scale factor to convert from fully uncoupled, i.e. wall, to fully coupled.
* これは、スケールファクターを使用して完全非結合(すなわち壁)から完全結合に変換するcyclicACMIによって行われる。
* the scale is set through a coded Function1 entry in the patch definition in constant/polyMesh/boundary
* スケールはconstant/polyMesh/boundaryのパッチ定義にあるコード化されたFunction1の項目を通して設定されます。
* Initial condition: closed blockage (red)
* 初期状態:閉塞(赤)


Source code
ソースコード


* $FOAM_SRC/OpenFOAM/primitives/functions/Function1/Coded
* $FOAM_SRC/OpenFOAM/primitives/functions/Function1/Coded
* $FOAM_SRC/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch
* $FOAM_SRC/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch


Tutorial
チュートリアル


* $FOAM_TUTORIALS/multiphase/interFoam/RAS/damBreakLeakage
* $FOAM_TUTORIALS/multiphase/interFoam/RAS/damBreakLeakage


== Community ==
== コミュニティ ==
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.
OpenFOAM v2412のリリースは、OpenFOAMのコアチーム以外からの貢献の努力を認め、OpenFOAMの開発を統一するために、より広いOpenFOAMコミュニティに参加してもらうための継続的な努力の上に成り立っています。


Some developments are integrated directly into the main code base, e.g.
いくつかの開発は、メインのコードベースに直接統合されている。


* Community contribution: Improved adjoint optimisation more...
* 地域貢献: アドジョイント最適化の改良 詳細
* Community contribution: Improved shielding function for SA-DDES turbulence model more...
* 地域貢献: SA-DDES乱流モデルの遮蔽機能を改善 詳細...


If you would like to explore the possibility to collaborate and include your developments, please contact us.
もし、共同開発の可能性を模索し、あなたの開発したものを含めたいとお考えでしたら、ぜひご連絡ください。


=== New contributions to the Turbulence Technical Committee repository ===
=== 乱流専門委員会リポジトリへの新しい投稿 ===
We are pleased to announce the release of the following two repositories under the umbrella of the Turbulence Technical Committee repository:
乱流技術委員会リポジトリ傘下の以下の2つのリポジトリを公開いたします:


* gammaSST : A three-equation transition and turbulence model.
* gammaSST :3方程式遷移と乱流モデル。
* HelicitySpalartAllmaras : Spalart-Allmaras turbulence model with Liu et al.'s helicity correction.
* HelicitySpalartAllmaras : Liuらのヘリシティ補正を用いたSpalart-Allmaras乱流モデル。


Source code
ソースコード


* $FOAM_SRC/$WM_PROJECT_DIR/plugins/turbulence-community
* $FOAM_SRC/$WM_PROJECT_DIR/plugins/turbulence-community


Attribution
帰属


* OpenCFD would like to acknowledge and thank Jiří Fürst, Jeff Defoe, and their colleagues for their valuable contributions and assistance.
* OpenCFDは、Jiří Fürst、Jeff Defoe、そして彼らの同僚たちの貴重な貢献と援助に感謝したい。


=== 謝辞 ===
=== 謝辞 ===

案内メニュー