|
[Sponsors] |
[FSI] How can I simulate non-uniform and timevarying mesh motion in OpenFOAM |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
May 10, 2019, 12:17 |
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: 7 |
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. |
|
May 11, 2019, 10:40 |
|
#2 | ||
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128 |
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:
Quote:
__________________
|
|||
May 14, 2019, 12:36 |
|
#3 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,093
Rep Power: 34 |
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 |
|
May 14, 2019, 15:23 |
|
#4 |
New Member
Aashay Tinaikar
Join Date: May 2019
Location: Boston
Posts: 19
Rep Power: 7 |
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. |
|
May 14, 2019, 16:40 |
|
#5 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,093
Rep Power: 34 |
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 |
|
Tags |
dynamic mesh, mesh motion, wall motion |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
how to set the timevarying uniform value of internalField? | jianxiyao | OpenFOAM | 4 | April 5, 2011 04:33 |