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

Patch which extrapolates pressure to a wall

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 1, 2010, 06:48
Default Patch which extrapolates pressure to a wall
  #1
Member
 
Join Date: Jul 2010
Posts: 37
Rep Power: 16
steph79 is on a distinguished road
Hi,

I'm using OpenFOAM version 1.7 and would like to utilise a patch which extrapolates pressure values from the fluid volume onto a wall as opposed to forcing the pressure gradient (normal to the wall) to equal zero, i.e. the zeroGradient patch.

Will the "calculated" patch be able to achieve this for me? If so, how should I go about enabling it for use with icoFoam? I suspect I need to add a line in Make/options and then compile an alternative solver but I've never done that before so I could use some help. This is the error message I receive when I try to use the calculated patch with the standard icoFoam;


Code:
--> FOAM FATAL ERROR: 

    gradientInternalCoeffs cannot be called for a calculatedFvPatchField
    on patch plate of field p in file "/home/mitchs/OpenFOAM/Test/0/p"
    You are probably trying to solve for a field with a default boundary condition.

    From function calculatedFvPatchField<Type>::gradientInternalCoeffs() const
    in file fields/fvPatchFields/basic/calculated/calculatedFvPatchField.C at line 186.

FOAM exiting
steph79 is offline   Reply With Quote

Old   October 9, 2010, 17:31
Default
  #2
Member
 
Join Date: Jul 2010
Posts: 37
Rep Power: 16
steph79 is on a distinguished road
Hi all,

I have received guidance with regards to adapting icoFoam in order to utilise the true pressure gradient normal to walls, rather than forcing the typical zeroGradient approximation. I have constructed this module of code through observation of the closest match I could find on here (http://www.cfd-online.com/Forums/ope...ification.html) however I'm still still short on understanding how this code should be tailored to fit in to the solver. From what I understand the function is detecting wall proximity and the refCast will calculate the pressure gradient which is then to be exploited as the boundary itself. Could anyone with their experience provide some more pointers as to how this could be retrofitted to the standard icoFoam code?



Code:
forAll(mesh.boundaryMesh(), patchI)
{
    if (isA<wallFvPatch>(mesh.boundaryMesh()[patchI]))
    {

fvPatchScalarField& pp = p.boundaryField()[patchi];
fixedGradientFvPatchScalarField& ppatch = refCast<fixedGradientFvPatchScalarField>(pp);

ppatch.gradient()[i] =  Ueqn.H();    // Re-arranging equation 3.140 on page 146 from Prof Jasak's thesis and setting Uf to zero

    }
}
steph79 is offline   Reply With Quote

Reply


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
Problem with cyclic boundaries in Openfoam 1.5 fs82 OpenFOAM 36 January 7, 2015 01:31
[Commercial meshers] Using starToFoam clo OpenFOAM Meshing & Mesh Conversion 33 September 26, 2012 05:04
Pressure BC for combustion chamber Giuki FLUENT 1 July 19, 2011 12:35
[Other] StarToFoam error Kart OpenFOAM Meshing & Mesh Conversion 1 February 4, 2010 05:38
what the result is negatif pressure at inlet chong chee nan FLUENT 0 December 29, 2001 06:13


All times are GMT -4. The time now is 23:30.