# Thermal conductivity as function of temperature

 Register Blogs Members List Search Today's Posts Mark Forums Read

 October 10, 2012, 06:32 Thermal conductivity as function of temperature #1 New Member   magazoni Join Date: Jul 2012 Posts: 11 Rep Power: 7 Sponsored Links Hi everyone, I'm trying to make a test with the solver laplacianFoam making the thermal conductivity as function of temperature. I'm doing something like that: fvScalarMatrix Teqn ( fvm::ddt(rho, T) - fvm::laplacian(k_T(T)/Cp, T) ); Teqn.solve(); } My idea is create a function to calculate the thermal conductivity: dimensionedScalar k_T(volScalarField T) { dimensionedScalar k1 ( "k1", dimensionSet(1,1,-3,-2,0,0,0), -0.0691734413 ); dimensionedScalar k2 ( "k2", dimensionSet(1,1,-3,-1,0,0,0), 421.0792245378 ); volScalarField k; k=k1*T+k2; return k; } But it's not working. How can I do it using a function? Thanks, Best regards, Felipe Magazoni

October 10, 2012, 07:42
#2
Senior Member

Join Date: Jan 2010
Location: Stuttgart
Posts: 147
Rep Power: 9
Hi Felipe,

the following code should give you an idea how to do it:

Quote:
 { for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) { fvScalarMatrix tEqn ( -fvm::laplacian(K, T) ); tEqn.relax(); eqnResidual = tEqn.solve().initialResidual(); maxResidual = max(eqnResidual, maxResidual); } Info<< "Min/max T:" << min(T).value() << ' ' << max(T).value() << endl; ////////////////////////////////////// forAll(solidRegions[i].cellZones(), zoneI) { const cellZone& cz = solidRegions[i].cellZones()[zoneI]; const labelList& cells = cz; if (cz.name() == "s-oc") { forAll(cells, iCells) { const label cellId = cells[iCells]; const scalar& cellT = T[cellId]; cp[cellId] = 380.68 + cellT * (0.35536 - 0.00012713 * cellT); K[cellId] = 9.6995954 + cellT * (0.017429246 - 2.0551036e-06 * cellT); rho[cellId] = 7920; } } } ///////////////////////////////////// }
It is an example for a steady solver, but it should not be that difficult to modify it for your time depending equation.

Don't forget to define your variables in the "createFields" file.

Kind regards

Chrisi

 December 31, 2012, 10:19 #3 New Member   Romain Join Date: Jun 2010 Location: Lyon Posts: 28 Rep Power: 9 hello Chrisi, I am looking to implement something a bit similar, I would like to have a value 'a' for my thermal conductivity if the temperature is under a certain value, and a value 'b' for my thermal conductivity if the temperature is above the value. Something like, Code: if (cz.name() == "s-oc") { forAll(cells, iCells) { const label cellId = cells[iCells]; const scalar& cellT = T[cellId]; cp[cellId] = 380.68 + cellT * (0.35536 - 0.00012713 * cellT); if (cellT<273.15) { K[cellId] = 10; } else { K[cellId] = 100; } rho[cellId] = 7920; } } is that possible ? I never used those kind of thermal dependent constant in my code before. Thanks,

 January 5, 2013, 11:54 #4 Senior Member   Join Date: Jan 2010 Location: Stuttgart Posts: 147 Rep Power: 9 Hallo Nakor, at the minute for me it seems that your code should work. Kind regards, Chrisi

 January 6, 2013, 12:52 #5 Senior Member     Matvey Kraposhin Join Date: Mar 2009 Location: Moscow, Russian Federation Posts: 330 Rep Power: 12 I can hint a bit more elegant solution: { dimensionedScalar k1 (dict.lookup("k1")); dimensionedScalar k2 (dict.lookup("k2")); volScalarField k = k1*T + k2; volScalarField DT = k / Cp1; fvScalarMatrix Teqn ( fvm::ddt(rho, T) - fvm::laplacian(DT, T) ); Teqn.solve(); } cfdsolver1 and amolrajan like this.

 May 19, 2016, 18:25 #6 Member   Ram Join Date: Oct 2015 Posts: 35 Rep Power: 3 Hey, I have modified the icoFoam solver to solve the energy equation by following the steps detailed in https://openfoamwiki.net/index.php/H...ure_to_icoFoam Now, I want to make the thermal diffusivity (DT) temperature dependent. Can someone tell me how to go about doing this? Where should I make the changes? Thanks!! Ram

 Tags function, laplacianfoam, property, temperature

 Thread Tools Display Modes Linear Mode

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post Sas CFX 15 July 13, 2010 08:56 Suzzn CFX 18 October 2, 2009 04:18 Rasmus Gjesing (Gjesing) OpenFOAM Native Meshers: blockMesh 10 April 2, 2007 14:00 CARL CFX 1 June 9, 2006 16:44 Arnold Free Main CFD Forum 0 August 10, 1999 10:18