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

Boundary condition to simulate a compliant volume

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By fromanza

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   November 11, 2020, 03:25
Lightbulb Boundary condition to simulate a compliant volume
  #1
New Member
 
Gauteng
Join Date: Jul 2020
Posts: 6
Rep Power: 5
fromanza is on a distinguished road
Hello world from sunny South Africa,

I am looking for help to solve what seems should be a relatively simple problem. I am new to openFOAM and have googled this particular thought but not come up with many results other than programming a new BC which seems quite daunting.

I would like to define a BC that essentially acts as a compliant isentropic volume. In other words, consider the boundary as a gas balloon/accumulator/lung etc that expands and as it expands its pressure rises as the volume expands/stretches. The pressure will rise (compressing the gas) because of the compliance of the volume walls. I am not interested at this point to consider thermal effects as the process happens slowly and at low pressures (5cmH20 to 40cmH20). I define the volumes compliance as (change in volume/change in pressure). EG if the volume changes by 50ml then the pressure goes up by 5cm.

The hope is to model a lung without the computational overhead of:
-Modelling the actual volume as a 'static' mesh and running a compressible solver
-Modelling a moving mesh system like a piston in a cylinder

The following BC's showed potential but thought I would reach out and see if im missing something simpler:
- codedFixedValue (not sure this has the ability to look at dV/dT)
- externalCoupled (seems most likely to work)
- Possibly using an energy BC like gradientEnergy (doubt this will work)
- plenumPressure (too defined for my use)
- syringePressure (too defiend for my use)

I think the most likely is attempting a pseudo-custom BC and emplying externalCoupled which I assume will involve a Python script to pull data from the OF results, make a calculation and then return/apply the boundary pressure based on the volume of air that has moved through the boundary.

Would appreciate some insight!
Thanks.
mikulo likes this.
fromanza is offline   Reply With Quote

Old   January 19, 2021, 03:09
Cool Any thoughts?
  #2
New Member
 
Gauteng
Join Date: Jul 2020
Posts: 6
Rep Power: 5
fromanza is on a distinguished road
Bump? Any thoughts?
fromanza is offline   Reply With Quote

Old   November 3, 2021, 01:31
Default
  #3
New Member
 
Gauteng
Join Date: Jul 2020
Posts: 6
Rep Power: 5
fromanza is on a distinguished road
Intruiging that this question has not come up before and seemingly no-one here can suggest a good solution.
If anyone is interested, I did manage to get a solution working using the external coupled solver but its very inefficient due to the built in wait time delays in the OpenFOAM external solver routine. I have also found that the postProcessing routine seems to fail in calculating the correct flow through a boundary when using an adaptive mesh (which of course leads to a failed volume calculation)
fromanza is offline   Reply With Quote

Old   November 27, 2021, 18:18
Default
  #4
Senior Member
 
Joachim Herb
Join Date: Sep 2010
Posts: 650
Rep Power: 21
jherb is on a distinguished road
In the OpenFOAM.com line, there seems to be a boundary conditions for this:

plenumPressure

https://www.openfoam.com/documentati...ary-conditions
https://www.openfoam.com/documentati...d.html#details
jherb is offline   Reply With Quote

Old   August 22, 2022, 02:55
Default
  #5
Member
 
Join Date: Nov 2020
Posts: 53
Rep Power: 5
mikulo is on a distinguished road
Quote:
Originally Posted by fromanza View Post
Hello world from sunny South Africa,

I am looking for help to solve what seems should be a relatively simple problem. I am new to openFOAM and have googled this particular thought but not come up with many results other than programming a new BC which seems quite daunting.

I would like to define a BC that essentially acts as a compliant isentropic volume. In other words, consider the boundary as a gas balloon/accumulator/lung etc that expands and as it expands its pressure rises as the volume expands/stretches. The pressure will rise (compressing the gas) because of the compliance of the volume walls. I am not interested at this point to consider thermal effects as the process happens slowly and at low pressures (5cmH20 to 40cmH20). I define the volumes compliance as (change in volume/change in pressure). EG if the volume changes by 50ml then the pressure goes up by 5cm.

The hope is to model a lung without the computational overhead of:
-Modelling the actual volume as a 'static' mesh and running a compressible solver
-Modelling a moving mesh system like a piston in a cylinder

The following BC's showed potential but thought I would reach out and see if im missing something simpler:
- codedFixedValue (not sure this has the ability to look at dV/dT)
- externalCoupled (seems most likely to work)
- Possibly using an energy BC like gradientEnergy (doubt this will work)
- plenumPressure (too defined for my use)
- syringePressure (too defiend for my use)

I think the most likely is attempting a pseudo-custom BC and emplying externalCoupled which I assume will involve a Python script to pull data from the OF results, make a calculation and then return/apply the boundary pressure based on the volume of air that has moved through the boundary.

Would appreciate some insight!
Thanks.
I am also interested in this type of problem. Have you gotten any progress already?

Regards,
Mike
mikulo is offline   Reply With Quote

Old   August 22, 2022, 03:45
Default
  #6
New Member
 
Gauteng
Join Date: Jul 2020
Posts: 6
Rep Power: 5
fromanza is on a distinguished road
H Mike,

Yes, I've made good progress and I've found the external coupled solution is actually quite suited for my application and desire to not fiddle with custom BC's. While its probably not the most accurate or efficient, it does what i need for now until I venture deeper into the code.

There are a few tutorials on the web which should provide enough guidance. Some of the things I really like about the solution are:
- the ability to adjust variables 'real-time' without having to reinitialize the simulation.
- basic script language to code the external solver

Some issues I havent resolved:
- Cant get a dynamic mesh to work, seems to be something wrong with how the external coupled BC maps to changing mesh at the patch??
- There is a built in min 1000ms delay in the OF code to wait for the external solver so it can be inefficient

I followed this:
https://github.com/OpenFOAM/OpenFOAM...externalSolver

Hope this helps!
fromanza is offline   Reply With Quote

Reply

Tags
balloon, boundary condition, lungs


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
Wind turbine simulation Saturn CFX 58 July 3, 2020 01:13
CFD analaysis of Pelton turbine amodpanthee CFX 31 April 19, 2018 18:02
Question about adaptive timestepping Guille1811 CFX 25 November 12, 2017 17:38
Question about heat transfer coefficient setting for CFX Anna Tian CFX 1 June 16, 2013 06:28
Convective Heat Transfer - Heat Exchanger Mark CFX 6 November 15, 2004 15:55


All times are GMT -4. The time now is 15:47.