CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Community Contributions > OpenFOAM CC Toolkits for Fluid-Structure Interaction

[FSI] How can I simulate non-uniform and timevarying mesh motion in OpenFOAM

Register Blogs Community New Posts Updated Threads Search

Like Tree2Likes
  • 2 Post By bigphil

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 10, 2019, 11:17
Smile How can I simulate non-uniform and timevarying mesh motion in OpenFOAM
  #1
New Member
 
Aashay Tinaikar
Join Date: May 2019
Location: Boston
Posts: 19
Rep Power: 6
ARTisticCFD is on a distinguished road
Hello Guys!

I am stuck with a very specific problem. I need to simulate a beating heart in OpenFOAM. I have heart segmentation s at different time points in the heartbeat. I have used it to calculate deformation fields. My aim is to supply this deformation fields to get mesh motion so that I can simulate a beating heart.

I have checked many tutorials and read many blog posts about moving wall conditions, Following are the closest ones.
timeVaryingUniformFixedValue:- enables us to give different but uniform values across time
Maybe I can also use "fixedValue" with nonUniform List to give a single set on non-uniform values.

But I did not find any proper condition that allows to specify nonUniform wall velocity/displacement fields (as a table/csv entry) at different time points of simulation.
I will be using "dynamicMotionSolverFvMesh" to move the mesh.

I came across a type called timeVaryingMappedFixedValue which comes closest to what I need. But it seems that above type is not applicable to wall or patch type BC.

Does anyone have any experience with such case and can help me to figure out how to get going? Also, I do not have much experience with groovyBC/swak4FOAM etc. but would like to know if that could help.

Your help is highly appreciated.
ARTisticCFD is offline   Reply With Quote

Old   May 11, 2019, 09:40
Default
  #2
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Quick answers...
1. Moved to the FSI sub-forum...

2. Quoting from the PM you sent me, because critical information was provided in it:
Quote:
Originally Posted by ARTisticCFD
I have been using OpenFOAM for 3-4 years now and I am quite used to it. However, I am stuck with a particular problem as stated below.

I want to simulate a beating heart with associated blood flow. I have deformation field at different locations of the heart wall (each location will have a different deformation vector). Also these deformation vectors will not remain constant in time, but actually vary. Thus to simulate a beating heart, I would need to specify timeVarying NonUniform boundary condition similar to timeVaryingMappedFixedValue.

I also tried to use that one, but it seems that it is not a supported type for wall patches. Do you know whether such BCs are available in OpenFOAM. it would be really great if you could give some guidance or suggest some way around this.

I am actually using foam-extend 4.0 since I have to use FSI later.
3. The first thing I strongly advise you is to ask for access to the solids4Foam toolkit:
Quote:
Originally Posted by wyldckat View Post
Note: The solids4Foam toolkit merges and extends the FSI toolkit with the solidMechanics toolkit.
  • It's currently (mid-April 2019) still in development, so access is restricted to those who ask for access to the repository. Send a Private Message to the forum member bigphil with your email address and a statement as to why you want access to it; it will require you to create an account at bitbucket.org.
4. I don't remember seeing a tutorial case in FSI where the external boundaries expand and contract, therefore I strongly advise you to also ask Philip Cardiff about this, by mentioning this thread, when you send him the request to access the solids4Foam toolkit.
__________________
wyldckat is offline   Reply With Quote

Old   May 14, 2019, 11:36
Default
  #3
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,089
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Hello Aashay,

If I understand correctly, in the first instance you do not intend to have FSI? i.e. instead you want to specify the motion of the fluid walls from your experimental data. Is that correct?

If so, then you would need to transform your finite number of measured point displacements to a spatially-temporally-varying field (maybe you can fit a polynomial to your data i.e. use regression); then you could create a custom boundary condition to implement this displacement field as a boundary condition for the mesh motion.

Creating the boundary condition is not difficult but determining the field to applying seems far from trivial.

Philip
bigphil is offline   Reply With Quote

Old   May 14, 2019, 14:23
Default
  #4
New Member
 
Aashay Tinaikar
Join Date: May 2019
Location: Boston
Posts: 19
Rep Power: 6
ARTisticCFD is on a distinguished road
Hii Philip,

Yes you are correct. This specific problem is particularly related to Dynamic mesh motion rather than FSI. However, I want to also simulate blood flow in the vasculature, therefore would be using FSI for that.

I am not sure whether mesh motion and FSI can be combined. But it also seems like assigning proper mesh motion would be a challenge itself.

The FSI part of simulation of blood flow in the vessels seem to be much easier and straight forward, but would be glad for any inputs regarding the mesh motion part.

It would be one of a kind simulation if I can make it work on OpenFOAM.



Thanks for your help.
ARTisticCFD is offline   Reply With Quote

Old   May 14, 2019, 15:40
Default
  #5
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,089
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Hi Aashay,

I suggest you start with a simple 2-D problem and get the basic idea to work there first.

For example, create a mesh of a circle (a simplified version of a cardiac chamber); now assume that you know the displacement vs time for a small number of points on the boundary of the circle. Can you determine a way to generate a displacement field (e.g. an analytical expression) from these finite number of displacements?

One way (it may not be a good way) would be to fit a polynomial of degree 2*N, where N is the number of points you have (it would be 3*N in 3-D). If this makes sense, then you could apply this as a boundary condition to the pointMotionU field (point velocity for mesh motion) or equivalent, depending on the chosen mesh motion solver.

Philip
wyldckat and ARTisticCFD like this.
bigphil is offline   Reply With Quote

Reply

Tags
dynamic mesh, mesh motion, wall motion


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
how to set the timevarying uniform value of internalField? jianxiyao OpenFOAM 4 April 5, 2011 03:33


All times are GMT -4. The time now is 08:11.