CFD Online Logo CFD Online URL
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Meshing & Mesh Conversion

[mesh manipulation] My layerAdditionRemoval demo

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree12Likes
  • 12 Post By Ilya Sivkov

LinkBack Thread Tools Search this Thread Display Modes
Old   April 23, 2015, 02:57
Post My layerAdditionRemoval demo
New Member
Join Date: Apr 2015
Posts: 3
Rep Power: 9
Ilya Sivkov is on a distinguished road

after a week of meditation at OpenFOAM sources and examples of dynamic layering, I made it works!


It uses interDyMPimple solver with movingConeTopoFvMesh and layerAdditionRemoval modifiers.

Here I described all steps:

Ilya Sivkov is offline   Reply With Quote

Old   April 23, 2015, 03:30
Join Date: Jul 2014
Posts: 39
Rep Power: 8
PicklER is on a distinguished road
Hi Ilya

This looks super promising. Thank you so much! Will give feedback before the end of the week.
PicklER is offline   Reply With Quote

Old   April 25, 2015, 12:35
Join Date: Jul 2014
Posts: 39
Rep Power: 8
PicklER is on a distinguished road
Hi Ilya

This demo is really awesome, thank you again. I tried to recreate your results by editing the damBreakWithObstacle tutorial case and adding the specified files of yours and I think I got it. I want to simulate the regression burn in a solid rocket motor.

1. Do you know if it is possible to set the velocity (motionVelAmplitude) of the moving boundary according to a dynamic variable calculated at each time step in the solver?

2. Is it possible to set this velocity for each cell on the boundary?

I want to calculate the burn rate (mm/s) of each cell on the boundary and set the motionVelAmplitude equal to this.

Thank you in advance
PicklER is offline   Reply With Quote

Old   April 26, 2015, 04:45
New Member
Join Date: Apr 2015
Posts: 3
Rep Power: 9
Ilya Sivkov is on a distinguished road
Hi, PickIER,

As for motionVelAmplitude, it is always fixed. Field-dependent mesh movement is another powerful future op OpenFOAM, but I have not learned it yet.

As for the engine, I am not sure you need moving mesh. Maybe, two-phase solvers can be used.

Also I googled with "openfoam solid fuel mass flow" and found some articles:
Ilya Sivkov is offline   Reply With Quote

Old   August 11, 2015, 08:15
Super Moderator
Tobi's Avatar
Tobias Holzmann
Join Date: Oct 2010
Location: Augsburg
Posts: 2,539
Blog Entries: 6
Rep Power: 46
Tobi has a spectacular aura aboutTobi has a spectacular aura aboutTobi has a spectacular aura about
Send a message via ICQ to Tobi Send a message via Skype™ to Tobi
Hi all,

thanks for sharing your steps. It work very well. I have a question to you, do you know how to deal with boundarys that are moved due to velocity and you want to add adding/removing cells due to deformation.

Imagine a pistion that is moving up. The mesh is compressed and after a special compression of the first cells you want to delete these cells.

With dynamicMotionSolverFvMesh its not possible I think.
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   December 2, 2015, 23:30
Senior Member
Join Date: Jan 2013
Posts: 134
Rep Power: 10
kkpal is on a distinguished road
I wonder if it's possible to do this kind add/removal on a curved surface? i.e., the moving object locates on the surface of a circular cylinder
kkpal is offline   Reply With Quote

Old   October 12, 2016, 15:22
Default Any updates?
New Member
Abigail Stehno
Join Date: Sep 2015
Posts: 8
Rep Power: 7
abigail_s is on a distinguished road
Hi I am working with a floating object with a modification of interDyMFoam and my structure deforms the mesh due to unstable buoyant forces (which is a separate issue in itself ). I have not been able to have the laterAdditionRemoval to work with the dynamicMotionSolverFvMesh using the steps in Ilya's tutorial.

Originally Posted by Tobi View Post
With dynamicMotionSolverFvMesh its not possible I think.
Has anyone else other than Tobias tried this? Any success? Any suggestions?

abigail_s is offline   Reply With Quote

Old   March 3, 2017, 10:37
New Member
Emeline Noel
Join Date: Dec 2013
Location: Paris
Posts: 26
Rep Power: 9
zarox is on a distinguished road

I hope you find some solution Abbie. I am currently looking at dynamic Mesh, and as Tobi said, that is not possible with the basic solver dynamicMotionSolverFvMesh to do add/removal cell, because it is a topological change and the solver is build in order to have no topological change. The movingConeTopoFvMesh is a derivated solver with topological change and morphing. I think the dynamic library give some brick and its own solver for its own case must be build as linearValveFvMesh (which is comment in the makefile for the topochangerFvMesh Library, in the Make/file note the */)...

At this point of my discovery of thedynamic library and topologic change, I am wondering if the layerAdditionRemoval utility can work on snap cell at a cylindrcal surface. I change the linearValveLayerFvMesh, to perform a simple add/remove layer (no sliding as for original).

When the code come to the point o do removal the result is
bool layerAdditionRemoval::changeTopology() const  for object layer :
Layer thickness: min: 3.91886e-06 max: 8.83989e-06 avg: 6.06556e-06 old thickness: 6.08116e-06
Removal threshold: 4e-06 addition threshold: 2.5e-05
    clearing pointsPairingPtr_
    clearing facesPairingPtr_
Modifier 0 named layer unchanged
No removal is done, the collapse() is invalid, but I don't know why, perhaps because of the mesh that is not aligned layer but snap to a curved surface?

In LayerAdditonRemoval.C :
 // Layers moving towards removal
        if (minDelta < minLayerThickness_)
            // Check layer pairing
            if (setLayerPairing())
                // A mesh layer detected.  Check that collapse is valid
                if (validCollapse())
                    // At this point, info about moving the old mesh
                    // in a way to collapse the cells in the removed
                    // layer is available.  Not sure what to do with
                    // it.

                    if (debug)
                        Pout<< "bool layerAdditionRemoval::changeTopology() "
                            << " const for object " << name() << " : "
                            << "Triggering layer removal" << endl;

                    triggerRemoval_ = mesh.time().timeIndex();

                    // Old thickness looses meaning.
                    // Set it up to indicate layer removal
                    oldLayerThickness_ = GREAT;

                    topologicalChange = true;
                    // No removal, clear addressing
zarox is offline   Reply With Quote

Old   November 20, 2017, 08:14
Default to move an obstacle y axis
New Member
Join Date: Nov 2017
Posts: 1
Rep Power: 0
fumitaka is on a distinguished road

Putting the grate demo of ilya's moving obstacle into practice, i wanna make the case in which an obstacle move along y axis.

Can I achive this goal with applying ilya's case? When I do "interDyMFoam",(it works until practicing setFields) MovingConeTopoFvMesh demand to define "leftEdge" in dynamicMeshDict.movingConeTopoFvMeshCoeffs ,dose it mean MovingConeTopoFvMesh can be only used in the case where the obstacle move along x axis???
fumitaka is offline   Reply With Quote

Old   October 8, 2019, 09:53
Question movingPiston
Join Date: Nov 2011
Location: Germany
Posts: 81
Rep Power: 11
einstein_zee is on a distinguished road
Hiii foamers,

This thread is quite old but I think it will be a good place to continue the discussion here. I have been playing with "movingConeTopoFvMesh" for 3 days but I was not able to get it quite right for the case of a compressing piston. Even I've instantiated my own mesh changer out of "movingConeTopoFvMesh" and "topoChangerFvMesh" with some changes but still no success so far. somehow this addition and removal of layers doesn't work in 3d cases I guess.
In general, pressure field will be the most affected field when you have mesh motion with movingCone. And if you stabilize it z.B. by lowering the movement speed, then the layers are not created or destroyed in 3d cases.
does anyone have a clue on this ?
einstein_zee is offline   Reply With Quote


dynamic mesh, layer addition removal, openfoam

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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
Main disadvantage of "limited" CFD packages according to a Solidworks demo instructor MBttR Main CFD Forum 4 June 16, 2016 12:17
[mesh manipulation] how to set layerAdditionRemoval cctv OpenFOAM Meshing & Mesh Conversion 5 April 23, 2015 03:01
Cavity demo won't animate in ParaView Tj256 OpenFOAM Bugs 3 July 8, 2010 22:35
demo free flow blunt body in cfx ansys 11 jan CFX 1 July 31, 2007 19:44
Where can I get the EZ-turbo demo file Ling-Chia Siemens 0 December 19, 2002 09:47

All times are GMT -4. The time now is 00:45.