|
[Sponsors] |
OF-extend: area-averaged pressure drop across one patch and one user defined surface |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
February 19, 2018, 15:03 |
OF-extend: area-averaged pressure drop across one patch and one user defined surface
|
#1 |
Member
James Gross
Join Date: Nov 2017
Posts: 77
Rep Power: 9 |
Hi people,
I am trying to calculate the head of a 2D pump simulation and therefore need to calculate the pressure drop between two surfaces. One of the surfaces is a patch and the other will be a user defined surface, which is some distance from the outlet (see the first figure). As I said in the title, I am using OF-extend, and therefore libFieldFunctionObjects doesn't seem to be available i.e. surfaceRegion isn't available. Originally, I had split the casing into two regions, one for the main volute and another for the extension and there was a grid generalised interface (GGI) that connected the two (see the second figure). This meant that calculating the pressure difference was incredibly easy as I could use patchAverage over both of the desired patches. However, this is not a good way to proceed as there is no need for a GGI there, as both regions are stationary. I could attempt to create an empty patch in the same region so I could perform the calculation the same, however this doesn't seem like the correct way to proceed and indeed might make the results a little less accurate. I have tried two different methods: 1. Create a faceZone in that region in order to use a swakExpression to calculate it. This was done by specifying a faceZone (see the third figure) in the following way: Code:
faceSet outlet new boxToFace (0.09 0.11 0)(0.2 0.1 0.002) setsToZones -noFlipMap Code:
outlet { type faceZone; faceLabels 0(); flipMap 0(); } 2. Create a cuttingPlane surface there and get the pressure field on that "surface" (it's actually a line in the case of a 2D simulation). This was done by defining a function in the controlDict Code:
// Output the pressure at the inlet and the outlet cuttingPlane { type surfaces; functionObjectLibs ("libsampling.so"); outputControl timeStep; outputInterval 100; setFormat foamFile; surfaceFormat vtk; interpolationScheme cellPointFace; fields (p); surfaces ( outlet { type cuttingPlane; planeType pointAndNormal; pointAndNormalDict { basePoint (0.15 0.2 0); normalVector (0 1 0); } interpolation true; } ); } Does anyone know an easier way of doing this? Thanks. J |
|
|
|