Nusselt number over theta
Hello everybody,
I have successfully simulated the case of flow around a circular cylinder with heat transfer using OpenFOAM. For heat transfer I have calculated the nusselt number over the cylinder surface. I just wanted to know, how can I plot Nusselt number over theta(angle 0360). Thanks in advance 
use paraFoam to do that
extract your cylinder boundary with extractBlock plot on intersection and select appropriate axis (z?) select variables... Is your cylinder fully rough? 
calculating nusselt number
hello ;
I added energy equation to simplefoam and simulated heat transfer around a cube but I don't know how to calculate nusselt number and plot it.all walls of the cube are under constant heat flux. would you help me?:o thanks. 
Quote:
See the tool, Code:
wallHeatFlux Let me know if you have difficulties. regards, aeroThermal 
thanks, do you mean wallHeatFluxLaminar utility?but it calculates wall heat flux which is my input data as boundary conditions and I don't need it.I think I need termal gradient to calculate h=q''/(TsT∞) >> Nu=hL/k. but I don't know how!!!

yes...of course you have the heat flux!
so it is simpler! do it in paraFoam... 1) extract your cylinder boundary with extractBlock 2) use calculator to evaluate \dot{q}^" / (DeltaT) 3) plot on intersection and select appropriate axis (z?) 4) select variables... Regards, aerothermal 
hello.
thanks a lot . but my problem is that I don't know how to calculate DeltaT. 
You can calculate that in paraFoam. Use Filter > Calculator.
So it is possible to calculate (TTref) on it to generate a new field. In order to get only T surface you will need to Filter > ExtractBlock your patch. 
I'm sorry, it was so easy.thanks a lot for your helping.:)
excuse me, can we export the result of caculating to matlab or save the data in a separate file?(I'm not well in paraview) thanks kind regards 
yes...just select your plot, click file > save data.
it will save as .csv for external tools like excel, matlab or R Cran 
thank a lot for your guidance.
regards. 
1 Attachment(s)
hello dear aerothermal;
excuse me, I have another problem with heat transfer in openfoam. I want to simulate an incompressible nanofluid flow with heat transfer using simpleFoam (i.e. solver includes an energy equation).The conductivity of the fluid is temperature dependent . I don't know haw can modify the solver and case directories to these properties become temperature dependent :confused:;I took down this threat in this site but I have not received any answer so far, would you help me:o? I attach special formula of nonofluids: Attachment 7190 kind regards 
Dear Maryam,
your zip file is empty. Regards, aerothermal 
dear friends,
I have calculated the local Nusselt number. Please see the code. How I will calculate the average Nusselt Number? #include "fvCFD.H" #include "hCombustionThermo.H" #include "basicThermo.H" #include "RASModel.H" #include "wallFvPatch.H" int main(int argc, char *argv[]) { timeSelector::addOptions(); #include "setRootCase.H" #include "createTime.H" instantList timeDirs = timeSelector::select0(runTime, args); #include "createMesh.H" forAll(timeDirs, timeI) { runTime.setTime(timeDirs[timeI], timeI); Info<< "Time = " << runTime.timeName() << endl; mesh.readUpdate(); #include "createFields.H" #include "readRefValues.H" surfaceScalarField heatFlux ( fvc::interpolate(RASModel>alphaEff())*fvc::snGrad(h) ); const surfaceScalarField::GeometricBoundaryField& patchHeatFlux = heatFlux.boundaryField(); Info<< "\nWall heat fluxes [W]" << endl; forAll(patchHeatFlux, patchi) { if (typeid(mesh.boundary()[patchi]) == typeid(wallFvPatch)) { Info<< mesh.boundary()[patchi].name() << " " << sum ( mesh.magSf().boundaryField()[patchi] *patchHeatFlux[patchi] ) << endl; } } Info<< endl; volScalarField wallHeatFlux ( IOobject ( "wallHeatFlux", runTime.timeName(), mesh ), mesh, dimensionedScalar("wallHeatFlux", heatFlux.dimensions(), 0.0) ); forAll(wallHeatFlux.boundaryField(), patchi) { wallHeatFlux.boundaryField()[patchi] = patchHeatFlux[patchi]; } wallHeatFlux.write(); Info << "\nNusselt Number:" << endl; volScalarField localNusselt ( IOobject ( "localNusselt", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE ), mesh, dimensionedScalar("localNusselt",dimless,0.0) ); forAll(localNusselt.boundaryField(),patchi) { localNusselt.boundaryField()[patchi] = length*patchHeatFlux[patchi]/((T_hotT_ini)*k); } localNusselt.write(); } Info<< "End" << endl; return 0; } 
Average Nusselt
Two ways:
1) in your code, sum all your Nusselt number values for one patch (not all patches) times de area of each element; sum all areas of elements/cells of the same patch; divide the nusselt values sum by the area sum 2) in paraFoam, use filter "extractBlock" to extract the patch you want the average, use filter "integrate variables", it will open an spreadsheet, look for Area value in Cells or Points, look for Nusselt value in Cells or Points, divide Nusselt integrated value by the Area integrated value. Regards, aerothermal 
All times are GMT 4. The time now is 22:00. 