CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Programming & Development

Thermal conductivity as function of temperature

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

Reply
 
LinkBack Thread Tools Display Modes
Old   October 10, 2012, 06:32
Default Thermal conductivity as function of temperature
  #1
New Member
 
magazoni
Join Date: Jul 2012
Posts: 11
Rep Power: 4
magazoni is on a distinguished road
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
magazoni is offline   Reply With Quote

Old   October 10, 2012, 07:42
Default
  #2
Senior Member
 
Join Date: Jan 2010
Location: Stuttgart
Posts: 121
Rep Power: 6
Chrisi1984 is on a distinguished road
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
Chrisi1984 is offline   Reply With Quote

Old   December 31, 2012, 09:19
Default
  #3
New Member
 
Romain
Join Date: Jun 2010
Location: Lyon
Posts: 28
Rep Power: 6
nakor is on a distinguished road
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,
nakor is offline   Reply With Quote

Old   January 5, 2013, 10:54
Default
  #4
Senior Member
 
Join Date: Jan 2010
Location: Stuttgart
Posts: 121
Rep Power: 6
Chrisi1984 is on a distinguished road
Hallo Nakor,

at the minute for me it seems that your code should work.

Kind regards,

Chrisi
Chrisi1984 is offline   Reply With Quote

Old   January 6, 2013, 11:52
Default
  #5
Senior Member
 
mkraposhin's Avatar
 
Matvej Kraposhin
Join Date: Mar 2009
Location: Moscow, Russian Federation
Posts: 172
Rep Power: 7
mkraposhin is on a distinguished road
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();
}
mkraposhin is offline   Reply With Quote

Reply

Tags
function, laplacianfoam, property, temperature

Thread Tools
Display Modes

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 Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Constant velocity of the material Sas CFX 15 July 13, 2010 08:56
Simulation of a single bubble with a VOF-method Suzzn CFX 18 October 2, 2009 04:18
Axisymmetrical mesh Rasmus Gjesing (Gjesing) OpenFOAM Native Meshers: blockMesh 10 April 2, 2007 14:00
THERMAL CONDUCTIVITY FOR SOLID DOMAIN -BOUYANCY CARL CFX 1 June 9, 2006 16:44
Info: Short Course On Thermal Design of Electronic Equipment Arnold Free Main CFD Forum 0 August 10, 1999 10:18


All times are GMT -4. The time now is 21:38.