CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM

thermal conductivity --> anisotropic material

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

Like Tree4Likes
  • 1 Post By benk
  • 1 Post By benk
  • 1 Post By pete20r2
  • 1 Post By shach934

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 15, 2010, 02:52
Default thermal conductivity --> anisotropic material
  #1
Member
 
Join Date: Nov 2009
Location: Germany
Posts: 96
Rep Power: 12
val46 is on a distinguished road
Hello,

i have a thermal conduction problem.
I need to modell a cylinder with different conductivity values in x,y and z direction. The cylinder is within a metal tube (isotropic material )

I think i can simply create 3 variables in transportproperties. Let's say lambdaX, lambdaY and lambdaZ. But after that i haven't a glue what to do next. (I'm pretty new to OpenFoam).


Thanks in advance.

Toni
val46 is offline   Reply With Quote

Old   July 19, 2010, 10:12
Default
  #2
Senior Member
 
Ben K
Join Date: Feb 2010
Location: Ottawa, Canada
Posts: 140
Rep Power: 14
benk is on a distinguished road
You just need to make a volTensorField for your thermal conductivities. In your time=0 directory, create your conductivity field using something like:

Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       volTensorField;
    object      Ds;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions      [0 2 -1 0 0 0 0];

internalField   uniform (xx 0 0 0 yy 0 0 0 zz);

boundaryField
{
...
}
where xx yy and zz are the values in the 3 different directions.
mm.abdollahzadeh likes this.
benk is offline   Reply With Quote

Old   July 20, 2010, 06:26
Default
  #3
Member
 
Join Date: Nov 2009
Location: Germany
Posts: 96
Rep Power: 12
val46 is on a distinguished road
Hi,

thanks for your reply.

How will the solver recognize the new file?
Don't i have to modify the solver for that?
val46 is offline   Reply With Quote

Old   July 20, 2010, 09:19
Default
  #4
Senior Member
 
Ben K
Join Date: Feb 2010
Location: Ottawa, Canada
Posts: 140
Rep Power: 14
benk is on a distinguished road
You'll have to add the field by:

Code:
volTensorField lambda
(
IOobject
(
"lambda",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);
Or you could also just make a tensor in your transportProperties file and read it into your solver using

Code:
dimensionedTensor lambda(transportProperties.lookup("lambda"));
mm.abdollahzadeh likes this.
benk is offline   Reply With Quote

Old   March 21, 2018, 15:42
Default
  #5
Member
 
Join Date: Oct 2017
Posts: 52
Rep Power: 4
gouravjee is on a distinguished road
Quote:
Originally Posted by benk View Post
You just need to make a volTensorField for your thermal conductivities. In your time=0 directory, create your conductivity field using something like:

Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       volTensorField;
    object      Ds;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions      [0 2 -1 0 0 0 0];

internalField   uniform (xx 0 0 0 yy 0 0 0 zz);

boundaryField
{
...
}
where xx yy and zz are the values in the 3 different directions.
can you tell me where to put this code as i am having other properties in transportProperties file which doesnt changes in directions
gouravjee is offline   Reply With Quote

Old   March 21, 2018, 21:49
Default
  #6
Senior Member
 
Peter Baskovich
Join Date: Jul 2014
Posts: 118
Rep Power: 7
pete20r2 is on a distinguished road
Hi Val,
What solver are you using?
Since it's cylindrical, do you want cartesian defined conductivities (x y z) or cylindrical coordinates (ρ,φ,z).
I can help if you are using multi-region solvers such as cht.

Benk's code goes in you solver source, which would then need to be recompiled, are you at that level?

Regards
Peter
pete20r2 is offline   Reply With Quote

Old   March 22, 2018, 01:41
Default
  #7
Senior Member
 
piu58's Avatar
 
Uwe Pilz
Join Date: Feb 2017
Location: Leipzig, Germany
Posts: 590
Rep Power: 7
piu58 is on a distinguished road
If the temperature distribution outside the cylinder is of lesser interest, or if the conductivity there is much larger than in the cylinder, you may think about a coordinate transformation: Change the cross section of the cylinder for a circle to an ellipse according the proportion of conductivity and change its length too.

This gives you at least a forst idea of the solution.
__________________
Uwe Pilz
--
Die der Hauptbewegung überlagerte Schwankungsbewegung ist in ihren Einzelheiten so hoffnungslos kompliziert, daß ihre theoretische Berechnung aussichtslos erscheint. (Hermann Schlichting, 1950)
piu58 is offline   Reply With Quote

Old   June 5, 2018, 07:32
Default
  #8
Senior Member
 
Muhammad Waqas
Join Date: Jul 2014
Location: Germany
Posts: 123
Rep Power: 7
mwaqas is on a distinguished road
Send a message via Skype™ to mwaqas
Quote:
Originally Posted by pete20r2 View Post
Hi Val,
What solver are you using?
Since it's cylindrical, do you want cartesian defined conductivities (x y z) or cylindrical coordinates (ρ,φ,z).
I can help if you are using multi-region solvers such as cht.

Benk's code goes in you solver source, which would then need to be recompiled, are you at that level?

Regards
Peter

Hi Peter,


I am using cht to model heat transfer between fluid and solid. suppose I have a cylinder and fluid passing across the cylinder. Could you please help me to define anisotropic thermal conductivity. It would be great, if I don't need to recompile a solver.
I am using Cartesian coordinate system. Along radial direction (x and y coordinate) thermal conductivity is same but it is different along axial direction.
Moreover, in both direction (radial and axial), it is temperature dependent.
Thank you


Regards
mwaqas is offline   Reply With Quote

Old   June 15, 2018, 01:06
Default
  #9
Senior Member
 
Peter Baskovich
Join Date: Jul 2014
Posts: 118
Rep Power: 7
pete20r2 is on a distinguished road
Hi Muhammad,
My example did not use temperature dependent capacity functions but that shouldn't be too hard to add.
To implement a cylindrical coordinate system edit the thermophysicalProperties file of the domain and make it look like this:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  3.0.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

thermoType
{
    type            heSolidThermo;
    mixture         pureMixture;
    //transport       constIso;
    transport       constAnIso; //<--this bit
    thermo          hConst;
    equationOfState rhoConst;
    specie          specie;
    energy          sensibleEnthalpy;
}

coordinateSystem //<-- and this bit
{
    type    cartesian;  // global co-ordinate system (redundant)
    origin  (-0.009 0.017861 0);   
    coordinateRotation
    {
        type    cylindrical; // local Cartesian co-ordinates
        //e1      (1 0 0);
        e3      (0 0 1); // axis of rotation
    }
}

mixture
{
    specie
    {
        nMoles      1;
        molWeight   50;
    }

    transport
    {

	kappa   (.1 10 10); //radial tangential longitudinal
    }

    thermodynamics
    {
        Hf      0;
        Cp      50;
    }

    equationOfState
    {
        rho     1000;
    }
}

// ************************************************************************* //
To implement the temperature dependent heat capacity have a look at https://cfd.direct/openfoam/user-guide/thermophysical/
Section 7.1.3, you will probably want janaf or polynomial.
mwaqas likes this.
pete20r2 is offline   Reply With Quote

Old   September 11, 2019, 17:06
Default
  #10
New Member
 
bharadwaz
Join Date: Nov 2018
Location: India
Posts: 13
Rep Power: 3
bharadwaz is on a distinguished road
Quote:
Originally Posted by pete20r2 View Post
Hi Muhammad,
My example did not use temperature dependent capacity functions but that shouldn't be too hard to add.
To implement a cylindrical coordinate system edit the thermophysicalProperties file of the domain and make it look like this:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  3.0.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

thermoType
{
    type            heSolidThermo;
    mixture         pureMixture;
    //transport       constIso;
    transport       constAnIso; //<--this bit
    thermo          hConst;
    equationOfState rhoConst;
    specie          specie;
    energy          sensibleEnthalpy;
}

coordinateSystem //<-- and this bit
{
    type    cartesian;  // global co-ordinate system (redundant)
    origin  (-0.009 0.017861 0);   
    coordinateRotation
    {
        type    cylindrical; // local Cartesian co-ordinates
        //e1      (1 0 0);
        e3      (0 0 1); // axis of rotation
    }
}

mixture
{
    specie
    {
        nMoles      1;
        molWeight   50;
    }

    transport
    {

	kappa   (.1 10 10); //radial tangential longitudinal
    }

    thermodynamics
    {
        Hf      0;
        Cp      50;
    }

    equationOfState
    {
        rho     1000;
    }
}

// ************************************************************************* //
To implement the temperature dependent heat capacity have a look at https://cfd.direct/openfoam/user-guide/thermophysical/
Section 7.1.3, you will probably want janaf or polynomial.
what to take as origin
is it center of the cylinder

Thank you
bharadwaz is offline   Reply With Quote

Old   September 27, 2019, 14:58
Default New Issue in Anisotropic Conductivity
  #11
New Member
 
Join Date: Dec 2018
Posts: 2
Rep Power: 0
eugenioS is on a distinguished road
Dear all,

I'm trying to verify the chtMultiRegionFoam (v1706) for the case of anisotropic conductivity (kappa). I'm comparing the results obtained with the following two configurations:

1. Isotropic mode, where I set the following:

thermoType
{
type heSolidThermo;
mixture pureMixture;
transport constIso;
thermo hConst;
equationOfState rhoConst;
specie specie;
energy sensibleEnthalpy;
}

mixture
{
...
transport
{
kappa 170;
}
...
}

2. Anisotropic mode:

thermoType
{
type heSolidThermo;
mixture pureMixture;
transport constAnIso;
thermo hConst;
equationOfState rhoConst;
specie specie;
energy sensibleEnthalpy;
}

coordinateSystem
{
type cartesian;
origin (0 0 0);
coordinateRotation
{
type axesRotation;
e1 (1 0 0);
e2 (0 1 0);
}

mixture
{
...
transport
{
kappa (170 170 170);
}
...
}

For some reason, the results are different (the isotropic case is correct). Anyone here knows why the anisotropic case doesn't replicate the results? Do you see something that is wrongly set in thermophysical properties?

Thank you in advance,

Eugenio
eugenioS is offline   Reply With Quote

Old   September 30, 2019, 04:07
Default
  #12
New Member
 
shach
Join Date: Apr 2019
Posts: 25
Rep Power: 2
shach934 is on a distinguished road
Hi,
just a hint, when you are using constAnIso solid, be sure at the boundary condition T you are using directionalSolidThermo at kappaMethod. Also add a aniAlpha. The names I am not very sure, you may google it. Maybe this is the reason.


Quote:
Originally Posted by eugenioS View Post
Dear all,

I'm trying to verify the chtMultiRegionFoam (v1706) for the case of anisotropic conductivity (kappa). I'm comparing the results obtained with the following two configurations:

1. Isotropic mode, where I set the following:

thermoType
{
type heSolidThermo;
mixture pureMixture;
transport constIso;
thermo hConst;
equationOfState rhoConst;
specie specie;
energy sensibleEnthalpy;
}

mixture
{
...
transport
{
kappa 170;
}
...
}

2. Anisotropic mode:

thermoType
{
type heSolidThermo;
mixture pureMixture;
transport constAnIso;
thermo hConst;
equationOfState rhoConst;
specie specie;
energy sensibleEnthalpy;
}

coordinateSystem
{
type cartesian;
origin (0 0 0);
coordinateRotation
{
type axesRotation;
e1 (1 0 0);
e2 (0 1 0);
}

mixture
{
...
transport
{
kappa (170 170 170);
}
...
}

For some reason, the results are different (the isotropic case is correct). Anyone here knows why the anisotropic case doesn't replicate the results? Do you see something that is wrongly set in thermophysical properties?

Thank you in advance,

Eugenio
eugenioS likes this.
shach934 is offline   Reply With Quote

Old   September 30, 2019, 05:03
Default
  #13
New Member
 
Join Date: Dec 2018
Posts: 2
Rep Power: 0
eugenioS is on a distinguished road
Quote:
Originally Posted by shach934 View Post
Hi,
just a hint, when you are using constAnIso solid, be sure at the boundary condition T you are using directionalSolidThermo at kappaMethod. Also add a aniAlpha. The names I am not very sure, you may google it. Maybe this is the reason.
Thank you! This was actually the problem..

I needed to define the boundary condition in internal walls (between solids) in the following way:

nonIsotropicWall
{
...
kappaMethod directionalSolidThermo;
alphaAni Anialpha;
...
}
eugenioS is offline   Reply With Quote

Old   September 30, 2019, 09:17
Default
  #14
New Member
 
shach
Join Date: Apr 2019
Posts: 25
Rep Power: 2
shach934 is on a distinguished road
Good to hear that!
However, I remember I had a problem about this directionalSolidThermo function. Though the result is correct, the wall heat flux calculated by wallHeatFlux function is not correct. I am not sure if its due to my setting or the function itself. So, be careful if you are using wallHeatFlux to calculate the heat flux.

Quote:
Originally Posted by eugenioS View Post
Thank you! This was actually the problem..

I needed to define the boundary condition in internal walls (between solids) in the following way:

nonIsotropicWall
{
...
kappaMethod directionalSolidThermo;
alphaAni Anialpha;
...
}
shach934 is offline   Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
mass flow in is not equal to mass flow out saii CFX 12 March 19, 2018 06:21
Simulation of a single bubble with a VOF-method Suzzn CFX 21 January 29, 2018 01:58
Constant velocity of the material Sas CFX 15 July 13, 2010 09:56
Anisotropic Thermal Conductivity Saturn CFX 4 January 30, 2007 13:34
Two-Phase Buoyant Flow Issue Miguel Baritto CFX 4 August 31, 2006 13:02


All times are GMT -4. The time now is 03:49.