Difference between revisions of "OscillatingInletACMI2D by Marco Zecchi"

From OpenFOAM Wiki
Jump to navigation Jump to search
(Created page with "category:mesh * '''contributor''': Michael Alletto * '''affiliation''': WRD MS * '''contact''': <mail address='[email protected]' description='author'>click here for...")
 
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[category:mesh]]
 
[[category:mesh]]
* '''contributor''': Michael Alletto
+
* '''contributor''': Marco Zecchi
* '''affiliation''': WRD MS
+
* '''affiliation''': Freelancer
* '''contact''': <mail address='michael.alletto@gmx.de' description='author'>click here for email address</mail>
+
* '''contact''': <mail address='zecchi.marco@gmail.com' description='author'>click here for email address</mail>; [https://www.linkedin.com/in/marco-zecchi-9b3ab125/ LinkedIn]
* '''OpenFOAM versions''': v2312
+
* '''OpenFOAM versions''': v2406
* '''Published under''': CC BY-NC-ND license ([https://creativecommons.org/licenses creative commons licenses])
+
* '''Published under''': CC BY-NC license ([https://creativecommons.org/licenses creative commons licenses])
  
 
Go back to [https://wiki.openfoam.com/Collection_by_authors Collection by authors].
 
Go back to [https://wiki.openfoam.com/Collection_by_authors Collection by authors].
Line 10: Line 10:
 
Go back to [https://wiki.openfoam.com/Meshing Meshing].
 
Go back to [https://wiki.openfoam.com/Meshing Meshing].
  
=[An extension of oscillatingInletACMI2D tutorial to better understand how to work with ACMI]=
+
=[https://github.com/mzecchi/OscillatingInletACMI2D_Revisited/wiki An extension of oscillatingInletACMI2D tutorial to better understand how to work with ACMI]=
  
 
There are many cases where users may wish to couple patches that partially overlap with one another. Particularly interesting is the case of partial overlap that happens as consequence of relative motion between patches: in this case boundary conditions must be dynamically updated accordingly. For this purpose, a specific cyclicACMI patch type has been introduced to enable such coupling, by
 
There are many cases where users may wish to couple patches that partially overlap with one another. Particularly interesting is the case of partial overlap that happens as consequence of relative motion between patches: in this case boundary conditions must be dynamically updated accordingly. For this purpose, a specific cyclicACMI patch type has been introduced to enable such coupling, by
 
blending a cyclicAMI patch with another patch type. The tutorial oscillatingInletACMI2D 1 gives an example of the Arbitrarily Coupled Mesh Interface (ACMI) usage. The mesh is composed of two mesh regions: an inlet channel which oscillates in the +/- Y-direction, and a fixed mesh region. The oscillation amplitude takes the inlet channel beyond the extents of the main channel section, whereby the cyclicACMI changes in behaviour from cyclicAMI to wall.
 
blending a cyclicAMI patch with another patch type. The tutorial oscillatingInletACMI2D 1 gives an example of the Arbitrarily Coupled Mesh Interface (ACMI) usage. The mesh is composed of two mesh regions: an inlet channel which oscillates in the +/- Y-direction, and a fixed mesh region. The oscillation amplitude takes the inlet channel beyond the extents of the main channel section, whereby the cyclicACMI changes in behaviour from cyclicAMI to wall.
 
Although oscillatingInletACMI2D is a good starting point to understand ACMI, it is 2D case and all mesh preparation is done using blockMesh, inlcuding generation of ACMI patches. While blockMesh is fine for simple geometries, it is limiting for real-life applications because actual cases rarely rely on blockMesh for mesh generation. On the other hand, setting up a realistic mesh for ACMI functionality can be challenging. That’s exactly what’s being addressed in this article; but to make things more interesting, we’ll add a few elements of complexity: we’ll transition to a 3D case and we’ll incorporate multiple ACMI interfaces, as opposed to the single interface in the original tutorial.
 
Although oscillatingInletACMI2D is a good starting point to understand ACMI, it is 2D case and all mesh preparation is done using blockMesh, inlcuding generation of ACMI patches. While blockMesh is fine for simple geometries, it is limiting for real-life applications because actual cases rarely rely on blockMesh for mesh generation. On the other hand, setting up a realistic mesh for ACMI functionality can be challenging. That’s exactly what’s being addressed in this article; but to make things more interesting, we’ll add a few elements of complexity: we’ll transition to a 3D case and we’ll incorporate multiple ACMI interfaces, as opposed to the single interface in the original tutorial.
 +
 +
=Resources=
 +
[https://github.com/mzecchi/OscillatingInletACMI2D_Revisited tutorial case]
 +
 +
[https://github.com/user-attachments/files/17931446/OscilattingInletACMI2D_Revisited_Tutorial.pdf tutorial pdf]

Latest revision as of 14:31, 27 November 2024

Go back to Collection by authors.

Go back to Meshing.

An extension of oscillatingInletACMI2D tutorial to better understand how to work with ACMI

There are many cases where users may wish to couple patches that partially overlap with one another. Particularly interesting is the case of partial overlap that happens as consequence of relative motion between patches: in this case boundary conditions must be dynamically updated accordingly. For this purpose, a specific cyclicACMI patch type has been introduced to enable such coupling, by blending a cyclicAMI patch with another patch type. The tutorial oscillatingInletACMI2D 1 gives an example of the Arbitrarily Coupled Mesh Interface (ACMI) usage. The mesh is composed of two mesh regions: an inlet channel which oscillates in the +/- Y-direction, and a fixed mesh region. The oscillation amplitude takes the inlet channel beyond the extents of the main channel section, whereby the cyclicACMI changes in behaviour from cyclicAMI to wall. Although oscillatingInletACMI2D is a good starting point to understand ACMI, it is 2D case and all mesh preparation is done using blockMesh, inlcuding generation of ACMI patches. While blockMesh is fine for simple geometries, it is limiting for real-life applications because actual cases rarely rely on blockMesh for mesh generation. On the other hand, setting up a realistic mesh for ACMI functionality can be challenging. That’s exactly what’s being addressed in this article; but to make things more interesting, we’ll add a few elements of complexity: we’ll transition to a 3D case and we’ll incorporate multiple ACMI interfaces, as opposed to the single interface in the original tutorial.

Resources

tutorial case

tutorial pdf