CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Community Contributions

[waves2Foam] Porous rubble mound PorousWaveFoam

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 17, 2024, 13:32
Default Porous rubble mound PorousWaveFoam
  #1
New Member
 
Marion Sant
Join Date: Dec 2023
Posts: 23
Rep Power: 2
edo2822 is on a distinguished road
Hi all!

I'm trying to simulate a wave hitting a composite breakwater with waves2foam. The breakwater caisson can easily be removed with snappyHexMesh from the mesh.
The rubble mound on the other hand, is porous and formed by multiple layers with different porosity.
I have a few questions on how to set this case:

-porous zones can be defined in the blockMesh dictionary and then a porosityZones dictionary in the constant folder. However, when we define the boundary faces of the porous zone in the blockmeshdict, which boundary type should they be? They are internal faces and should simply act as internal faces delimiting a porous zone. If nothing is specified, they are assigned as empty boundary type. Whych boundary should they be?

- I tried the case with a rubble mound formed by a single hexahedral block and it works fine (although I don't know which boundary type to set for the boundary face of the porous zone), but when I want to try a realistic trapezoidal shape of the rubble mound, how can I do that? I tried to shape the rubble mound as an hexahedral and two prisms to have the trapezoidal shape. The geometry is created successfully, however the mesh inside the two prisms is really nonsense and cause problems to the simulation.

Does anyone have experience with similar cases?

Thanks
edo2822 is offline   Reply With Quote

Old   March 27, 2024, 07:04
Default
  #2
New Member
 
sebastiaan bors
Join Date: Mar 2018
Posts: 7
Rep Power: 8
Sebastiaan is on a distinguished road
Hey,


Although I am sure there is a way to create your mesh such that the interface between porous region and non porous region aligns with internal cell faces, I am not sure it is required. I have used the method whereby you create your mesh solely based on the solid regions with optional refinement near the porous interface and subsequently set the cell region containing the rubble to a porous zone by first using topoSet and then setsToZones. For example: the content in your topoSetDict for creating a cellSet for the armour layer from defined by an stl geometry might look like this:

Code:
actions
(
    // Load initial cellSet
    {
        name    armourLayer;
        type    cellSet;
        action  new;
        source      surfaceToCell;
       
        file            "./constant/triSurface/armour_layer.stl";
        fileType        stl;
        outsidePoints   ($pointInMesh);  // definition of outside
        includeCut      true;              // cells cut by surface
        includeInside   true;              // cells not on outside of surf
        includeOutside  false;              // cells on outside of surf
        nearDistance    -1;                 // cells with centre near surf
                                            // (set to -1 if not used)
        curvature       -100;                // cells within nearDistance
                                            // and near surf curvature
                                            // (set to -100 if not used)
}

);
Which is subsequently converted to a zone by running setsToZones -noFlipMap.

Again, this does not result in a transition between porous and non-porous regions that aligns perfectly with the design geometry. You could combine this with your blockmesh approach where you combine everything into one region, after which the transition should be as you want it. If anyone knows of a way to achieve the same effect without explicitly creating the blockmesh such that it aligns with the design interface, I would be interested as well.


Hope this helps,
Sebastiaan is offline   Reply With Quote

Old   March 31, 2024, 07:17
Default
  #3
New Member
 
Marion Sant
Join Date: Dec 2023
Posts: 23
Rep Power: 2
edo2822 is on a distinguished road
Quote:
Originally Posted by Sebastiaan View Post
Hey,


Although I am sure there is a way to create your mesh such that the interface between porous region and non porous region aligns with internal cell faces, I am not sure it is required. I have used the method whereby you create your mesh solely based on the solid regions with optional refinement near the porous interface and subsequently set the cell region containing the rubble to a porous zone by first using topoSet and then setsToZones. For example: the content in your topoSetDict for creating a cellSet for the armour layer from defined by an stl geometry might look like this:

Code:
actions
(
    // Load initial cellSet
    {
        name    armourLayer;
        type    cellSet;
        action  new;
        source      surfaceToCell;
       
        file            "./constant/triSurface/armour_layer.stl";
        fileType        stl;
        outsidePoints   ($pointInMesh);  // definition of outside
        includeCut      true;              // cells cut by surface
        includeInside   true;              // cells not on outside of surf
        includeOutside  false;              // cells on outside of surf
        nearDistance    -1;                 // cells with centre near surf
                                            // (set to -1 if not used)
        curvature       -100;                // cells within nearDistance
                                            // and near surf curvature
                                            // (set to -100 if not used)
}

);
Which is subsequently converted to a zone by running setsToZones -noFlipMap.

Again, this does not result in a transition between porous and non-porous regions that aligns perfectly with the design geometry. You could combine this with your blockmesh approach where you combine everything into one region, after which the transition should be as you want it. If anyone knows of a way to achieve the same effect without explicitly creating the blockmesh such that it aligns with the design interface, I would be interested as well.


Hope this helps,

Dear Sebastiaan,

Thank you for your reply! This seems to work for one single porous zone! I will try with more porous zones

Last edited by edo2822; March 31, 2024 at 10:59.
edo2822 is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Thermal non-equilibrium porous media model with conjugate heat transfer Hexahedron FLUENT 9 February 22, 2023 03:55
conventional rubble mound breakwater 3D model design ewissmach Main CFD Forum 0 August 16, 2022 16:26
Properties as a function of space/cellzone – porous region absorbedsponge OpenFOAM Pre-Processing 0 September 29, 2021 15:59
Porous Media Zone Thickness TheKitchenCleaner FLUENT 0 October 5, 2020 01:42
Porous media setup issues in Fluent Bernard Van FLUENT 29 January 26, 2017 05:09


All times are GMT -4. The time now is 21:02.