You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<tdclass="markdownTableBodyNone"><spanclass="tt">m_body_forces</span></td><tdclass="markdownTableBodyNone">Computes gravitational and user-defined body force source terms for the momentum equations </td></tr>
287
287
<trclass="markdownTableRowEven">
288
288
<tdclass="markdownTableBodyNone"><spanclass="tt">m_pressure_relaxation</span></td><tdclass="markdownTableBodyNone">Pressure relaxation for the six-equation multi-component model via Newton–Raphson equilibration and volume-fraction correction </td></tr>
289
+
<trclass="markdownTableRowOdd">
290
+
<tdclass="markdownTableBodyNone"><spanclass="tt">m_collisions</span></td><tdclass="markdownTableBodyNone">Ghost-node immersed boundary method: locates ghost/image points, computes interpolation coefficients, and corrects the flow state </td></tr>
<li><b>Add the module to <spanclass="tt">docs/module_categories.json</span></b> so it appears in this page</li>
402
404
</ol>
403
405
<p>Follow the pattern of existing modules like <spanclass="tt">m_body_forces</span> (simple) or <spanclass="tt">m_viscous</span> (more involved) as a template.</p>
<tdclass="markdownTableBodyRight"><spanclass="tt">vel(i)</span></td><tdclass="markdownTableBodyCenter">Real </td><tdclass="markdownTableBodyLeft">Initial velocity of the moving IB in the i-th direction. </td></tr>
467
467
<trclass="markdownTableRowEven">
468
468
<tdclass="markdownTableBodyRight"><spanclass="tt">angular_vel(i)</span></td><tdclass="markdownTableBodyCenter">Real </td><tdclass="markdownTableBodyLeft">Initial angular velocity of the moving IB in the i-th direction. </td></tr>
469
+
<trclass="markdownTableRowOdd">
470
+
<tdclass="markdownTableBodyRight"><spanclass="tt">coefficient_of_restitution</span></td><tdclass="markdownTableBodyCenter">Real </td><tdclass="markdownTableBodyLeft">A number 0 to 1 describing how elastic IB collisions are </td></tr>
471
+
<trclass="markdownTableRowEven">
472
+
<tdclass="markdownTableBodyRight"><spanclass="tt">collision_model</span></td><tdclass="markdownTableBodyCenter">Integer </td><tdclass="markdownTableBodyLeft">Integer to select the collision model being used for IB collisions. </td></tr>
473
+
<trclass="markdownTableRowOdd">
474
+
<tdclass="markdownTableBodyRight"><spanclass="tt">collision_time</span></td><tdclass="markdownTableBodyCenter">Real </td><tdclass="markdownTableBodyLeft">Amount of simulation time used to resolve collisions </td></tr>
475
+
<trclass="markdownTableRowEven">
476
+
<tdclass="markdownTableBodyRight"><spanclass="tt">ib_coefficient_of_friction</span></td><tdclass="markdownTableBodyCenter">Real </td><tdclass="markdownTableBodyLeft">Coefficient of friction used in IB collisions </td></tr>
469
477
</table>
470
478
<p>These parameters should be prepended with <spanclass="tt">patch_ib(j)%</span> where $j$ is the patch index.</p>
<li><spanclass="tt">moving_ibm</span> sets the method by which movement will be applied to the immersed boundary. Using 0 will result in no movement. Using 1 will result 1-way coupling where the boundary moves at a constant rate and applied forces to the fluid based upon it's own motion. In 1-way coupling, the fluid does not apply forces back onto the IB. Using 2 will result in 2-way coupling, where the boundary pushes on the fluid and the fluid pushes back on the boundary via pressure and viscous forces. If external forces are applied, the boundary will also experience those forces.</li>
483
491
<li><spanclass="tt">vel(i)</span> is the initial linear velocity of the IB in the x, y, z direction for i=1, 2, 3. When <spanclass="tt">moving_ibm</span> equals 2, this velocity is just the starting speed of the object, which will then accelerate due to external forces. If <spanclass="tt">moving_ibm</span> equals 1, then this is constant if it is a number, or can be described analytically with an expression.</li>
484
492
<li><spanclass="tt">angular_vel(i)</span> is the initial angular velocity of the IB about the x, y, z axes for i=1, 2, 3 in radians per second. When <spanclass="tt">moving_ibm</span> equals 2, this rotation rate is just the starting rate of the object, which will then change due to external torques. If <spanclass="tt">moving_ibm</span> equals 1, then this is constant if it is a number, or can be described analytically with an expression.</li>
493
+
<li><spanclass="tt">coefficient_of_restitution</span> is a number from 0 (exclusive) to 1 (inclusive) describing how elastic IB collisions are. 0 is for perfectly inellastic collisions while 1 is for perfectly ellastic collisions.</li>
494
+
<li><spanclass="tt">collision_model</span> is an integer to select the collision model being used for IB collisions. Using 0 disables collisions and collisiono checking. 1 enables the soft-sphere collision model, where all IBs must be circles or sphere and those IBs can collide with each other as well as walls.</li>
495
+
<li><spanclass="tt">collision_time</span> is approximately the amount of simulation time used to resolve collisions. This is handled by modifying the spring gonstant used to apply collision forces.</li>
496
+
<li><spanclass="tt">ib_coefficient_of_friction</span> is the coefficient of friction used in IB collisions.</li>
<p>💡 <b>Tip:</b> If you encounter a validation error, check the relevant section above or review <ahref="https://github.com/MFlowCode/MFC/blob/master/toolchain/mfc/case_validator.py"><spanclass="tt">case_validator.py</span></a> for complete validation logic.</p>
0 commit comments