Post-processing on an empty patch using swak4foam
Hi,
I have a large domain consisting of multiple similar regions for which I want to calculate surface flow field quantities such as U*T*dA through a surface in order to come up with an energy balance. I used topoSet to create cellSets (for each region) and then created smaller meshes using subsetMesh. However, the new meshes contain an empty patch (which was internal before) called oldInternalFaces. I understand why that empty patch must be there, but how can I now calculate surface field flow? I tried swak4Foam with this function object: Code:
QFlow Also, the field I'm interested in (T) cannot be found by swak4foam (that's why I used k in the above example). Does anybody know why and how I can fix that? The field is where it's supposed to be and I can view it in paraFoam. When I do the same calculation in paraFoam using the calculator filter with U*T, the resulting surface field flow is non-zero. So to sum it up: How can I calculate quantities such as U*T*dA and integrate them over an empty patch? I don't want to use paraFoam as I'd like to use the results in scripts (many cases). Regards Christoph |
Quote:
Quote:
Quote:
|
Quote:
I'm using simpleFoam with an added equation for T. Here's the instatiation: Code:
volScalarField T Quote:
Code:
QFlow1 My conclusion for now is that my way of splitting the domain for post-processing is not well suited for my goal of integrating over the new surface created by the split. |
If that matters, here's how I execute the function:
Code:
execFlowFunctionObjects -dict funkyDoCalcDict |
Quote:
And it "finds" T (you must have changed something) Quote:
|
Quote:
Quote:
|
Quote:
Quote:
|
Thanks for the hint, the term "region" in my first post was misleading. I'll try faceSets or faceZones. I have never used faceZones, what exactly are they? The documentation is not very verbose in that respect...
|
Quote:
But that is not a swak-problem anymore |
2 Attachment(s)
I did a forum search on the difference between faceSets and faceZones, and found this thread: http://www.cfd-online.com/Forums/ope...condition.html (post #8). So what I would need here is a faceZone wherever I want to sample in the field and I could then use swak4Foam or some other post-processing tool to calculate the quantities I'm interested in and integrate them over the zone. Does that sound viable? It would still be a potential swak-problem ;)
To make this more descriptive, here are two screenshots of the whole mesh and of the subdomain: Attachment 25994 The whole domain consists of 5 similar subdomains for which I want to calculate an energy balance. This is one of the subdomains I generated with subsetMesh, the new empty patch is on the left side: Attachment 25995 |
Quote:
|
Well, I was able to create a faceSet from the new empty patch, but not in the larger domain where these faces would be internal.
Evaluating with swak4foam didn't work as expected. This is the code I used: Code:
functions Code:
Unknown function type swakExpression |
Quote:
|
Thanks for the hint, will try that on monday...
|
Adding the lib helped a bit, but didn't give me a result. For
Code:
functions Code:
actions Code:
execFlowFunctionObjects -time 10011 -dict funkyDoCalcDict |
Quote:
|
I didn't use funkyDoCalc because I didn't get it working first, that's all. I didn't know about any substantial differences between the two so this was not real decision.
Removed the "functions" block surrounding the definition to make it work with funkyDoCalc, this is the resulting dict: Code:
QFlow2 Code:
Could not find a field name T of type scalar (neither surfaceScalarField nor volScalarField) autoInterpolate: 0 (try setting 'autoInterpolate' to 'true') |
Quote:
No matter what I write into the error messages the effect is similar to writing "There is a problem. Ask Bernhard". And when I ask nobody says "Well. I would have understood that error message if it had said ...." so I guess people think "Ups. I should have read the content of the message before asking" |
Quote:
Quote:
adding autoInterpolate true to the function indeed made the error disappear, I'll see if the results make any sense. Thanks! Christoph |
All times are GMT -4. The time now is 12:43. |