CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Pre-Processing (https://www.cfd-online.com/Forums/openfoam-pre-processing/)
-   -   Non-reflective inlet boundary conditions (https://www.cfd-online.com/Forums/openfoam-pre-processing/131639-non-reflective-inlet-boundary-conditions.html)

jimteb March 18, 2014 14:32

Non-reflective inlet boundary conditions
 
Hi,

I would like to use a boundary condition at an inlet that allows a pressure-time profile to be specified, which is also non-reflective.

Currently I am using timeVaryingUniformFixedValue to create the pressure-time profile at the inlet, but I think I am getting reflections at the inlet. I have tried timeVaryingUniformInletOutlet which doesn't seem to help.

Can anyone advise if a boundary condition exists which does this?

thanks

dancfd April 6, 2014 09:15

Hello James,

I am struggling with the same issue, though I am using a time-dependent U at the inlet. My domain consists of a C-grid with the outlet defined as the vertical section at the back, and the rest of the boundary as the inlet - similar to the tutorial nacaAirfoil. Since the angle of inflow is changing as a function of time, some of the time the inlet will be acting like an outlet.

I think a new boundary condition might be required - a blend of uniformFixedValue and supersonicFreestream/waveTransmissive, perhaps?

I will try to create a new BC that does this and post my results if I am successful. My C++ skills are not strong, but I will give it a shot.

Regards,

Dan

dancfd April 6, 2014 17:32

3 Attachment(s)
Well trying to set up a new BC is not as straightforward as I thought. Starting from the basics, I followed the instructions at the link below just to try renaming an already-existing BC:

- I copied the waveTransmissive folder into $FOAM_USER_LIBBIN
- renamed all instances of "waveTransmissive" to "waveTransmissiveTimeVarying" in the files and filenames
- used the attached files in the Make directory
- successfully built libwaveTransmissiveTimeVarying.so

Then, in the nacaAirfoil case:
- added "libs ("libwaveTransmissiveTimeVarying.so");" to controlDict
- changed the pressure boundary type to "waveTransmissiveTimeVarying"

When I run it sonicFoam on it, though, I get the following error:
Code:

--> FOAM FATAL IO ERROR:
Unknown patchField type waveTransmissiveTimeVarying for patch type patch

Valid patchField types are :

etc. Complete error in the attached log file.

Any ideas what could cause this? I hope to create a new BC; right now I cannot even copy and use an existing one! Note that I added the ".txt" extension to all attachments just so they could be uploaded.

Link for instructions: http://openfoamwiki.net/index.php/Ho...dary_condition

Thanks in advance for any assistance.

Daniel

dancfd April 7, 2014 23:47

I made a mistake in the make/files file. Works now, will now look at combining waveTransmissive and uniformFixedValue.

Dan

New make/files:

Code:

$(FOAM_USER_LIBBIN)/waveTransmissiveTimeVarying/waveTransmissiveTimeVaryingFvPatchFields.C

LIB = $(FOAM_USER_LIBBIN)/libwaveTransmissiveTimeVarying


alessandroB July 15, 2016 12:00

Hi,
I know I'm a little late to ask you an answer, but now I'm just working on a similar problem.
I need to have an outlet where I apply a time dependet boundary condition on pressure by a tabel, but also that allows propogation of waves, i.e. a waveTransmissive Boundary conditions where I give a table of values instead of just one fixedValue.
I couldn't get very well your procedure, if you could explain to me just another time it would be very important to me (I started few weeks ago with OpenFoam :D ).
Best regards.

dancfd July 16, 2016 09:50

Hello Alessandro, I'm afraid I was not successful in the end, but reflection did not turn out to be much of a problem in my case so I let it go. Good luck,

Daniel


All times are GMT -4. The time now is 14:25.