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 0-360). 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''/(Ts-T∞) >> 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 (T-Tref) 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_hot-T_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 |
Hi friends
I have a question, I want to calculate Nusselt number in a heated pipe at each cross section but for the temperature difference it needs to calculate the bulk temperature which requires computation of integral of U*T over each section (since my simulation is axisymmetric I need to calculate integration along radius instead). Do you have any idea on how to compute the integral in openfoam?:( thanks in advance |
Hey Bana,
Have you managed to figure out how to calculate the bulk temperature in openFOAM? I'm trying to calculate the Nusselt Number for which I need the bulk temperature. Thanks!! Ram |
Hi,
I am using openfoam v10, trying to find Nusselt number. As far I explore it, I found that its now momentumTranportModel class which encompasses laminar and turbulent models. I am trying to figure out how do I setup my calculation, but finding difficult. surfaceScalarField heatFlux ( fvc::interpolate ( ( turbulence.valid() ? turbulence->alphaEff()() : thermo->alpha() ) ) * fvc::snGrad(h) ); Can someone tell, how do I modify this code for openfoam v 10? Regards, Govind |
Hello Gautam,
can you please explain me: fvc::interpolate(RASModel->alphaEff())*fvc::snGrad(h). My understanding is "h" stands for heat-flux. But from heat transfer calculation, q (heat-flux) = -k_eff * grad(T) Its somewhat confusing me, can you please clear me? Regards, Govind |
h is enthalpy, see e.g. https://en.wikipedia.org/wiki/Enthalpy
k_eff īs the sum of laminar and turbulent (therefore total) thermal conductivity, see e.g. https://www.cfd-online.com/Forums/op...ductivity.html |
All times are GMT -4. The time now is 23:58. |