Moving piston in a reservoir
- OLIVIER
- Topic Author
- Offline
- New Member
-
Less
More
- Posts: 2
- Thank you received: 0
9 years 9 months ago - 9 years 9 months ago #8218
by OLIVIER
Moving piston in a reservoir was created by OLIVIER
Hello everyone,
I am willing to develop a pressure regulation system on a musical instrument and want to run a few simulations to help me design it before launching the first prototypes.
Here is the current setup :
- 1 inlet with variable air pressure, low flux
- 1 reservoir with a fixed volume and a rather complex geometry
- 1 or several outlets where I want as little of pressure variations as possible (ideally, constant pressure).
My idea is to insert within the reservoir one or several pistons coupled to a compression spring so that when the pressure rises, the piston(s) move(s), the reservoir's volume gets bigger and limits the pressure rise.
As for the simulation, I would like to make first a simplified geometry with:
- 1 inlet with a sinus-like variating pressure
- the reservoir including a moving piston
- 1 outlet where I want to check the pressure diagram
I am new to CAELinux (I have just installed the 2008 DVDLive version and seen through the introduction tutorials) but before going any further, could I have your insights on how to proceed please? By that, I mean:
- is there a way to describe the piston as a "moving wall" with a spring on the other side?
- which modules of CAELinux should I use?
- do you know any tutorial close enough to my problematic?
Making the initial geometry is no problem as I use CAD softwares everyday. As for numerical simulations, I used to be familiar to them during my engineering days 10 years ago...
Thank you very much for any advice or comment you can share with me!
All the best,
Ronan
I am willing to develop a pressure regulation system on a musical instrument and want to run a few simulations to help me design it before launching the first prototypes.
Here is the current setup :
- 1 inlet with variable air pressure, low flux
- 1 reservoir with a fixed volume and a rather complex geometry
- 1 or several outlets where I want as little of pressure variations as possible (ideally, constant pressure).
My idea is to insert within the reservoir one or several pistons coupled to a compression spring so that when the pressure rises, the piston(s) move(s), the reservoir's volume gets bigger and limits the pressure rise.
As for the simulation, I would like to make first a simplified geometry with:
- 1 inlet with a sinus-like variating pressure
- the reservoir including a moving piston
- 1 outlet where I want to check the pressure diagram
I am new to CAELinux (I have just installed the 2008 DVDLive version and seen through the introduction tutorials) but before going any further, could I have your insights on how to proceed please? By that, I mean:
- is there a way to describe the piston as a "moving wall" with a spring on the other side?
- which modules of CAELinux should I use?
- do you know any tutorial close enough to my problematic?
Making the initial geometry is no problem as I use CAD softwares everyday. As for numerical simulations, I used to be familiar to them during my engineering days 10 years ago...

Thank you very much for any advice or comment you can share with me!
All the best,
Ronan
Last edit: 9 years 9 months ago by OLIVIER.
- Claus
-
- Offline
- Moderator
-
Less
More
- Posts: 670
- Thank you received: 34
9 years 9 months ago #8219
by Claus
Code_Aster release : STA11.4 on OpenSUSE 12.3 64 bits - EDF/Intel version
Replied by Claus on topic Re: Moving piston in a reservoir
I think I understand what you're trying to accomplish, but the FSI (fluid structure interaction) you are proposing would be very, very complex to do in one step.
I don't think I've seen any FSI that include mechanical movement of interconnected parts (but I'm not an expert!).
They was I would attack the problem,is to run a CFD analysis of the geometry, calculate how much the pressure would move the piston/spring, update the geometry and rerun the CFD analysis.
With the current tools available in CAELinux or in general available to a private citizen, I doubt it would be feasible to do this simulation dynamically, but I would love to be proven wrong.
Again, it's not something I have much experience in, so search for FSI with Code_saturne or OpenFOAM - those two are the most advanced CFD solvers available for free for linux, as far as I know.
Actually while replying, I found this video of FSI with moving parts.
/C
I don't think I've seen any FSI that include mechanical movement of interconnected parts (but I'm not an expert!).
They was I would attack the problem,is to run a CFD analysis of the geometry, calculate how much the pressure would move the piston/spring, update the geometry and rerun the CFD analysis.
With the current tools available in CAELinux or in general available to a private citizen, I doubt it would be feasible to do this simulation dynamically, but I would love to be proven wrong.
Again, it's not something I have much experience in, so search for FSI with Code_saturne or OpenFOAM - those two are the most advanced CFD solvers available for free for linux, as far as I know.
Actually while replying, I found this video of FSI with moving parts.
/C
Code_Aster release : STA11.4 on OpenSUSE 12.3 64 bits - EDF/Intel version
- OLIVIER
- Topic Author
- Offline
- New Member
-
Less
More
- Posts: 2
- Thank you received: 0
9 years 9 months ago #8220
by OLIVIER
Replied by OLIVIER on topic Re: Moving piston in a reservoir
To claws: thank you very much for your detailed answer!
I was hoping that the solvers evolved a bit more in the last decade and could manage the FSI, seems like I was too naive...
Flow 3D (on the video) seems to manage it pretty neatly though, the videos on their website are impressive.
I think I'll go with the step-by-step method you suggested. Could you please tell me if it is possible to :
- configure geometric parameters in Solidmeca for instance? The idea being to define x as the piston's displacement and change its value at each geometry update.
- set up a time variating pressure p(t) as the inlet initial condition?
All the best,
Ronan
I was hoping that the solvers evolved a bit more in the last decade and could manage the FSI, seems like I was too naive...

I think I'll go with the step-by-step method you suggested. Could you please tell me if it is possible to :
- configure geometric parameters in Solidmeca for instance? The idea being to define x as the piston's displacement and change its value at each geometry update.
- set up a time variating pressure p(t) as the inlet initial condition?
All the best,
Ronan
- Reinhard
- Offline
- New Member
-
Less
More
- Posts: 5
- Thank you received: 0
9 years 9 months ago #8222
by Reinhard
Replied by Reinhard on topic Re: Moving piston in a reservoir
Dear Roan,
If you are going to do fluid structure interaction there are a couple of things you should consider:
1) Which frequency range is interesting for you?
Is that frequency range below the first acoustic resonance frequency of the reservoir?
2) Do you expect large pressure variations in the reservoir or is it possible to assume small pressure variations around a mean pressure?
3) Will the flow velocities at the inlet or outlet be small in comparison to the velocity of propagation of sound?
4) Is it possible to neglect flow losses?
If the answer to the first question is yes, than I would prefer to use an analytical model based on the first law of thermodynamics and the isentropic flow through a nozzle.
Such a model could be represented by a system of ordinary differential equations and could be solved with GNU-octave.
If the answer to question two, three and four is yes, than you could use a linear acoustic model with fluid structure interaction (3D_FLUIDE) which can be solved by Code_Aster.
You can find a simple test problem for fluid structure interaction which was take from the book "Finite Element Procedures" from K. J. Bathe in www.code-aster.org/forum2/viewtopic.php?id=19904.
Otherwise you have to use a CFD solver. I'm not an expert on CFD but as far as I know you will have to make sure that numerical diffusion does not influence the results in the frequency range of interest.
Best regards,
Lagrange
If you are going to do fluid structure interaction there are a couple of things you should consider:
1) Which frequency range is interesting for you?
Is that frequency range below the first acoustic resonance frequency of the reservoir?
2) Do you expect large pressure variations in the reservoir or is it possible to assume small pressure variations around a mean pressure?
3) Will the flow velocities at the inlet or outlet be small in comparison to the velocity of propagation of sound?
4) Is it possible to neglect flow losses?
If the answer to the first question is yes, than I would prefer to use an analytical model based on the first law of thermodynamics and the isentropic flow through a nozzle.
Such a model could be represented by a system of ordinary differential equations and could be solved with GNU-octave.
If the answer to question two, three and four is yes, than you could use a linear acoustic model with fluid structure interaction (3D_FLUIDE) which can be solved by Code_Aster.
You can find a simple test problem for fluid structure interaction which was take from the book "Finite Element Procedures" from K. J. Bathe in www.code-aster.org/forum2/viewtopic.php?id=19904.
Otherwise you have to use a CFD solver. I'm not an expert on CFD but as far as I know you will have to make sure that numerical diffusion does not influence the results in the frequency range of interest.
Best regards,
Lagrange
- Claus
-
- Offline
- Moderator
-
Less
More
- Posts: 670
- Thank you received: 34
9 years 9 months ago #8223
by Claus
Yeah, FEA is in many areas still very much a specialists tool, but things are improving all the time
1. Yes, it is possible to set up parameters in Salomé for geometry creation, but for translating geometry etc., you'll have to script the procedure. Depending on your programming experience I think it's fairly straight forward; build your geometry, create groups, mesh and then dump the study, modify parameters and rerun the script.
2. I can't tell you directly how to set up a varying BC, but I can tell you that you have to look into the compressible flow module of Code_Saturne. I have a feeling that OpenFOAM handles compressibility better, but I don't really like (hate
) the interface of OpenFOAM, so I don't have much experience with it.
Keep us updated with you progress. It sounds like a really cool experiment
/C
Code_Aster release : STA11.4 on OpenSUSE 12.3 64 bits - EDF/Intel version
Replied by Claus on topic Re: Moving piston in a reservoir
Ronan wrote: To claws: thank you very much for your detailed answer!
I was hoping that the solvers evolved a bit more in the last decade and could manage the FSI, seems like I was too naive...Flow 3D (on the video) seems to manage it pretty neatly though, the videos on their website are impressive.
I think I'll go with the step-by-step method you suggested. Could you please tell me if it is possible to :
- configure geometric parameters in Solidmeca for instance? The idea being to define x as the piston's displacement and change its value at each geometry update.
- set up a time variating pressure p(t) as the inlet initial condition?
All the best,
Ronan
Yeah, FEA is in many areas still very much a specialists tool, but things are improving all the time

1. Yes, it is possible to set up parameters in Salomé for geometry creation, but for translating geometry etc., you'll have to script the procedure. Depending on your programming experience I think it's fairly straight forward; build your geometry, create groups, mesh and then dump the study, modify parameters and rerun the script.
2. I can't tell you directly how to set up a varying BC, but I can tell you that you have to look into the compressible flow module of Code_Saturne. I have a feeling that OpenFOAM handles compressibility better, but I don't really like (hate

Keep us updated with you progress. It sounds like a really cool experiment

/C
Code_Aster release : STA11.4 on OpenSUSE 12.3 64 bits - EDF/Intel version
Moderators: catux
Time to create page: 0.142 seconds