Possible to sum across different patches?
Dear Foamers,
I hope this question doesn't already exist in the forum. I would like to calculate an average value which should be evaluated over different patches. Is it possible to do this with swak4foam? Furthermore I would like to compute the difference on each patch to this (global) average value. So far I am able to evaluate the expressions seperately, i.e. I am computing the average value on patch1, compute the difference of my variable (temperature) to this value on patch 1, and I am doing the same for the other patches. It would be great if I could compute an expression like this HTML Code:
gAv= \sum_{Outlet j} \sum{i \in Outlet_j} T_i A_i /A(Outlet j) HTML Code:
\sum_{i \in Outlet j} (T_i A_i - gAv) Thank you very much in advance for an answer or sharing your experiences. Kind Regards Anne |
Quote:
Code:
variables ( |
Dear Bernhard,
thank you very much for the fast reply! I will try to make this evaluation run with your instructions as soon as possible. Best Regards Anne |
Dear Bernard
I have two patches (w_l,w_lb --> both of them of different area and mesh distribution) and I want to find combined nusselt No. for them. When I do the below it crashes: -------------------------------------------------------------- Test234 { type patchExpression; patches ( w_l w_lb ); verbose true; variables ( "Tsat=300;" "lc2D=0.0786;" "sumHere{w_l}=sum(snGrad(T)*area()/(T-Tsat);" /*"dtwl{w_l}=T-Tsat;" "dtwlb{w_lb}=T-Tsat;"*/ "sumThere{w_lb}=sum(snGrad(T)*area()/(T-Tsat));" "areaHere{w_l}=sum(area());" "areaThere{w_lb}=sum(area());" "totalAverage=(sumHere+sumThere)/(areaHere+areaThere);"*/ ); expression "totalAverage"; accumulations ( max min average sum ); ------------------------------------------------------------------ But when I try to debug and remove the division by (T-Tsat) it runs ,but not what I need.. ---------------------------------------------------------------------------- Test234 { type patchExpression; patches ( w_l w_lb ); verbose true; variables ( "Tsat=300;" "lc2D=0.0786;" "sumHere{w_l}=sum(snGrad(T)*area());" /*"dtwl{w_l}=T-Tsat;" "dtwlb{w_lb}=T-Tsat;"*/ "sumThere{w_lb}=sum(snGrad(T)*area());" "areaHere{w_l}=sum(area());" "areaThere{w_lb}=sum(area());" "totalAverage=(sumHere+sumThere)/(areaHere+areaThere);"*/ ); expression "totalAverage"; accumulations ( max min average sum ); ----------------------------------------------------------------- Also it creates 2 output files w_l and w_lb .Is this expected Could you please comment on it.. My scenario: A wall cut into two patches so that I could use one of the as inlet for flow if needed.At present both considered as wall. So I want Nusselt number at the whole wall and I need averaging over both patches. |
Hey Manu,
have you tried to just replace Tsat by the constant value, i.e. 300? Maybe the coder has problems to detect the variable Tsat inside the variable definition part..... Best, Anne |
Hello Anne
I did try that,but doesnt work.Bye the way when used only for a single patch the same piece of file works.But when I try to find avg. of two patches it fails. |
Quote:
|
Nope:
I tried that the error reported is: Build : 2.4.0-dcea1e13ff76 Exec : DNSbuoyantBoussinesqPimpleFoam -parallel Date : Jul 26 2016 Time : 13:43:04 Host : "n11-40" PID : 24612 Case : /home/manuchakkingal/OpenFOAM/manuchakkingal-2.4.0/run/2d_NC_porous_4_by_4_Ra_10_6 nProcs : 4 Slaves : 3 ( "n11-40.24613" "n11-40.24614" "n11-40.24615" ) Pstream initialized with: floatTransfer : 0 nProcsSimpleSum : 0 commsType : nonBlocking polling iterations : 0 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). fileModificationChecking : Monitoring run-time modified files using timeStampMaster allowSystemOperations : Allowing user-supplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time -------------------------------------------------------------------------- MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD with errorcode 1. NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. You may or may not see output from other processes, depending on exactly when Open MPI kills them. -------------------------------------------------------------------------- |
Looks as if there might be a division by zero....
|
I will check it "for division by zero"..Thanks
|
All times are GMT -4. The time now is 20:29. |