Code for Nusselt number
4 Attachment(s)
I have used the following code created by Johan Magnusson. It creates the tool NusseltCalc. Only problem is, when I run NusseltCalc then I got the error:
Command not found. Could you please help me? I am adding the code as an attachment. |
Hi,
have you correctly compiled the tool? You need to do a "wmake", see the Wiki for more information on that topic. Markus |
Dear Members,
This is the code for local Nusselt number: volScalarField wall_localNusselt ( IOobject ( "wall_localNusselt", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE ), mesh, dimensionedScalar("wall_localNusselt ",dimless,0.0) ); forAll(wall_localNusselt.boundaryField(),patchi) { wall_localNusselt.boundaryField()[patchi] = length*patchHeatFlux[patchi]/((T_hot-T_ini)*k); } wall_localNusselt.write(); } I want to write a code for Average Nusselt Number. |
Solved !!!
The code was correct. NusseltCalc is working now.
|
Problem !!!
How to calculate average Nusselt number?
|
DearGoutam,
I have not used the code but it would be helpful to see the error message. Markus |
Looking for a response?
|
Hello Goutam,
please be a bit more precise. As far as I understand, the code you posted above calculates the patch-averaged Nusselt number. Because patchHeatFlux should be the heat flux over the patch in [W/m2], right? Markus |
Average Nusselt Number
Dear Markus,
This code will calculate heat flux and Local Nusselt NUmber at each patch. I am using this code and its working properly. If you want to calculate average Nusselt number, then just write in the terminal window: patchAverage wall_localNusselt your_patch_name You will get your average Nusselt number. Cheers !!! |
How can I alter your code?
Quote:
-- wall_localNusselt.boundaryField()[patchi] = length*patchHeatFlux[patchi]/((T_hot-T_ini)*k); -- I want to calculate the localNusselt number at a wall which is called "right". I have a rectangular cavity which has 4 walls with the following names: bottom, right, left and top. So, the Nusselt number is calculated as the integration of dT/dx for limits from y=0 to 1, at x=0, which is the "right" wall. How can I alter your code? I am using an incompressible Magnetohydrodynamics` solver. Thanks a lot for your help! |
2 Attachment(s)
Quote:
I have used the same code and terminal command for calculating the nusselt number for a case of fin tube heat exchanger using chtMultiRegionSimpleFoam solver but i am getting: Code:
Create time |
Hi,
From what i understand from code, this is not a post processing utility rather a runtime utility and i need to create a volumetric scalar field NusseltNumber for it to work. Plz let me know your views. |
Quote:
|
Nusseltcalc.C
1 Attachment(s)
Hello there,
I'm trying to compile the tool but I keep receiving this error: Code:
NusseltCalc.C: In function 'int main(int, char**)': Any ideas why? Thanks. |
Hi,
RASModel is class name, did you mean turbulence->alphaEff()? (also this method is available only for compressible turbulence models, in case of incompressible model you have to calculate is as nu/Pr + nut/Prt) |
Thanks for the quickly reply. That killed that error but now I can't find a way to link the libraries I need. The error is this:
Code:
/usr/bin/ld: cannot find -lcompressibleTurbulenceModel My options file in /Make dir is this: Code:
EXE_INC = \ |
Hi,
it looks much like you've forgotten to set up environment variables. |
I´m kind of new at this. How can I do that?
|
basically we can calculate local nusselt numbers over a patch as we've seen in the discussion above. To get an average nusselt number, you must do some area weighting in the case of a non uniform mesh. Below, you calculate the local nusselt number at each face on heatedPatchID and multiply by the faces area. You must also calculate the total patch area. Once each local nusselt number is weighted by its own area of its face on the boundary, you divide the entire sum of area weighted nusselt numbers by the total area. This results in an averaged nusselt number.
Take a uniform mesh for example: e.g. (A1*Nu1 +A2*Nu2 +... An*Nun)/Atotal = NUM/DEN where A1 is the face area of face 1 on heatedPatchID and Atotal is the entire patch area and if A1 = A2 = An (uniform mesh), then A1 = Atotal/n = A2 = .. = An resulting in Atotal(Nu1 + Nu2 + ... +Nun)/(Atotal*n) = (Nu1 + Nu2 + ... +Nun)/n), which quite simply in a basic average of n components. This is how we integrate numerically along a dimension in most cases where we divide the area weighted sum by the total area of that boundary of interest whether it be length, area or volume. Code:
label heatedPatchID = mesh.boundaryMesh().findPatchID("heatedBoundaryName"); Any comments are welcome. James |
error compiling
Hi,
I'm facing this problem when i type wmake Code:
michele@micheleXubuntu:~/OpenFOAM/michele-2.3.1/run/nusseltCalc$ wmake thanks a lot Michele |
Hi,
You are trying to install software system-wide while being simple user. You should either use 'sudo wmake' (though in this case I am not quite sure about environment variables being set right), or change $(FOAM_APPBIN) to $(FOAM_USER_APPBIN) in Make/files file to install software in user's folder. |
Thank you very much for helping; I change Make/file by changing into FOAM_USER_APPBIN.
Regards. |
Hi,
I'm new to openFOAM and thought of checking if OF gives the right value of the Nu for laminar flow through a pipe. I used the buoyantBoussinesqSimpleFoam solver by turning off turbulence and g (so that the buoyancy effects are turned off). The velocity and temperature fields seem correct. Now, I want to check the Nu. I tried creating the function NusseltCalc() as detailed in one of your previous posts. However during compilation, I'm getting an error. I tried compiling the wallHeatFlux function as well just to check if it compiles properly (obviously by creating a copy of it first). Even that is giving the same error. In fact even when I tried adding temperature field to icoFoam and tried compiling, its giving me the same error. Here's the error message I'm getting csriram91@SRIRAM-PC /opt/OpenFOAM/OpenFOAM-2.3.x/applications/utilities/postProcessing/wall/wallHeatFlux - Copy (2) $ wclean csriram91@SRIRAM-PC /opt/OpenFOAM/OpenFOAM-2.3.x/applications/utilities/postProcessing/wall/wallHeatFlux - Copy (2) $ wmake Making dependency files... In file included from /opt/OpenFOAM/OpenFOAM-2.3.x/src/OpenFOAM/lnInclude/faceZoneMesh.H:33:0, from /opt/OpenFOAM/OpenFOAM-2.3.x/src/OpenFOAM/lnInclude/polyMesh.H:56, from /opt/OpenFOAM/OpenFOAM-2.3.x/src/finiteVolume/lnInclude/fvMesh.H:50, from /opt/OpenFOAM/OpenFOAM-2.3.x/src/finiteVolume/lnInclude/fvCFD.H:7, from wallHeatFlux.C:34: /opt/OpenFOAM/OpenFOAM-2.3.x/src/OpenFOAM/lnInclude/faceZone.H:46:32: fatal error: primitiveFacePatch.H: No such file or directory #include "primitiveFacePatch.H" ^ compilation terminated. SOURCE=wallHeatFlux.C ; x86_64-w64-mingw32-g++ -m64 -Dcygwin64 -DWM_DP -DMSWIN -DLITTLE_ENDIAN -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -O3 -DNDEBUG -DNoRepository -ftemplate-depth-100 -I/opt/OpenFOAM/OpenFOAM-2.3.x/src/turbulenceModels -I/opt/OpenFOAM/OpenFOAM-2.3.x/src/turbulenceModels/compressible/turbulenceModel/lnInclude -I/opt/OpenFOAM/OpenFOAM-2.3.x/src/thermophysicalModels/specie/lnInclude -I/opt/OpenFOAM/OpenFOAM-2.3.x/src/thermophysicalModels/reactionThermo/lnInclude -I/opt/OpenFOAM/OpenFOAM-2.3.x/src/thermophysicalModels/basic/lnInclude -I/opt/OpenFOAM/OpenFOAM-2.3.x/src/thermophysicalModels/solidThermo/lnInclude -I/opt/OpenFOAM/OpenFOAM-2.3.x/src/finiteVolume/lnInclude -IlnInclude -I. -I/opt/OpenFOAM/OpenFOAM-2.3.x/src/OpenFOAM/lnInclude -I/opt/OpenFOAM/OpenFOAM-2.3.x/src/OSspecific/MSWindows/lnInclude -c $SOURCE -o Make/cygwin64mingw-w64DPOpt/wallHeatFlux.o In file included from /opt/OpenFOAM/OpenFOAM-2.3.x/src/OpenFOAM/lnInclude/faceZoneMesh.H:33:0, from /opt/OpenFOAM/OpenFOAM-2.3.x/src/OpenFOAM/lnInclude/polyMesh.H:56, from /opt/OpenFOAM/OpenFOAM-2.3.x/src/finiteVolume/lnInclude/fvMesh.H:50, from /opt/OpenFOAM/OpenFOAM-2.3.x/src/finiteVolume/lnInclude/fvCFD.H:7, from wallHeatFlux.C:34: /opt/OpenFOAM/OpenFOAM-2.3.x/src/OpenFOAM/lnInclude/faceZone.H:46:32: fatal error: primitiveFacePatch.H: No such file or directory #include "primitiveFacePatch.H" ^ compilation terminated. wallHeatFlux.dep:3: recipe for target 'Make/cygwin64mingw-w64DPOpt/wallHeatFlux.o' failed make: *** [Make/cygwin64mingw-w64DPOpt/wallHeatFlux.o] Error 1 I'm running openFOAM 2.3x on cygwin if that's any help. Thanks!! Ram |
hi; all
thank you for the answer, I'll try your suggestions and I'll share the results with you. Cordially |
Quote:
I don't know exactly what your kind of problem research but the Code Fluent is useful in kind of convection in a box headed by the below wall and cladded by the top you can use it for calculate the Nusselt number and other thing |
Same problem
Quote:
Thanx! |
Hi there
I'd like asking about the Lenght in Report - Reference Values. is it the Depth that means Hydraulic diameter for 3D or note |
How to add this Nusselt Program to the CFD
Hi there
I'd like add this program to calculate Nusselt number, but I don't know how to do that please help me:confused: |
Quote:
how can I include the program please with Details |
changes for OF 4.1
If someone wants to implement the code of Johan Magnusson (shown in post #3) in OpenFOAM 4.1, one only need to change
Code:
Code:
A detailed description of the implementation is given in his report ("conjugateHeatFoam with explanational tutorial together with a buoyancy driven flow tutorial and a convective conductive tutorial") |
Quote:
I will test and re check that |
wrong in heat flux code
Hi
I modify icoFluid solver of fsiFoam and add this code to it as: Quote:
for example: "size 10441 is not equal to the given value of 117" the code make same size for each boundary surfaces (for inlet, top,bottom etc with different size, the wallHeatFlux is same size 10441). Do you know what is the mistake? |
Quote:
Code:
wallHeatFlux_.boundaryField()[patchi] = (DT_*rho_*Cp_)*T_.boundaryField()[patchi].snGrad(); |
Quote:
Do you have any code for calculation Nusselt number with bulk temperature? https://www.cfd-online.com/Forums/vb...02a8aed9-1.gif I can't use swak4Foam, in order, I should calculate bulk temperature and add it to Nusselt calculation |
Local Nusselt with Matlab
hello everyone,
is there anyone who can help me?! How can i calculate the local Nusselt number for a vertical wall in cavity using a Matlab implimentation? |
The Nußelt number is connected to the thickness of the boundary layer d. If you may measure this thickness, you may calculate the Nußelt number stepwise (but not pointwise). You have to select al length along L the surface for which you plan getting Nu. The you have
Nu = L / d |
More information about my problem
Quote:
https://www.cfd-online.com/Forums/ma...lt-number.html https://www.cfd-online.com/Forums/ma...computing.html My problem figure: https://media.springernature.com/lw6..._Fig1_HTML.png Best regards :) |
All times are GMT -4. The time now is 07:03. |