CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   How to simulate thermal stress and heat transfer simultaneously using OF? (http://www.cfd-online.com/Forums/openfoam/88711-how-simulate-thermal-stress-heat-transfer-simultaneously-using.html)

masb May 24, 2011 08:14

How to simulate thermal stress and heat transfer simultaneously using OF?
 
Dear All,

I need help to simulate thermal stress and heat transfer simultaneously using OF.
Any help is welcomed.

Many thanks,

Marco.

bigphil May 24, 2011 17:20

Hi Marco,

SolidDisplacementFoam solves for thermal stress and temperature, check out the tutorial.

Philip

masb May 25, 2011 05:21

Hi Philip,

That's great! Thank you for your help.

Regards,

Marco.

masb May 25, 2011 05:39

Hi Philip,

The tutorial was set to not solve the thermal equation. Could you help me put the thermal equation working?

Regards,

Marco.

bigphil May 25, 2011 05:48

Marco,


In the tutorial "constant/thermalProperties" file, change "thermalStress no;" to "thermalStress yes;".

The solver will now solve the energy equation (for temperature) after solving the momentum equation (for displacement).


Hope it helps,
Philip

masb May 25, 2011 07:21

Foam fatal io error:
 
Dear Philip,

Then I get the following error message:

Regards,

Marco.

--> FOAM FATAL IO ERROR:
cannot open file

file: /home/marco/OpenFOAM/marco-1.7.1/run/tutorials/stressAnalysis/solidDisplacementFoam/system/controlDict at line 0.

From function regIOobject::readStream()
in file db/regIOobject/regIOobjectRead.C at line 61.

FOAM exiting

bigphil May 25, 2011 08:27

Marco,


You seem to be running the solidDisplacementFoam solver inside the solver source code directory, you must run the solidDisplacementFoam solver in the tutorial case directory (i.e. inside plateHole).

The user guide shows one how to run this plateHole tutorial (http://www.openfoam.com/docs/user/pl...hp#x6-370002.2), the only difference is that you will have to turn on the thermalStress option in thermalProperties.


Philip

masb May 25, 2011 08:56

Source code directory
 
Philip,

Sorry to bother you but I ran it in the source code directory.
I tried both options. Using "thermalProperties no;" it works fine.
Using "thermalProperties yes;" I get the mentioned message.

Regards,

Marco.

bigphil May 25, 2011 09:13

Marco,


What version of OpenFOAM are you using?

I just tried solidDisplacementFoam and plateHole in OpenFOAM-1.6-ext and it works fine when I turn on "thermalStress" in "constant/thermalProperties".

Just to recap, did you try the following:
copy the tutorial to your home directory -
$ cp -r $FOAM_SOLVERS/stressAnalysis/solidDisplacementFoam/plateHole $FOAM_RUN/

change into the plateHole directory -
$ cd $FOAM_RUN/plateHole

edit "constant/thermalProperties" and turn "thermalStress" to yes.

then run the solver in the plateHole directory -
$ solidDisplacementFoam


If you might get an error about a ddtScheme not being defined, then put this in the "system/fvSchemes" file:
ddtSchemes
{
default Euler;
}

Also you will have to increase the number of correctors in the "system/fvSolution" file to something like 1000:
stressAnalysis
{
compactNormalStress yes;
nCorrectors 1000;
D 1e-06;
}


Philip

masb May 25, 2011 09:53

It works fine.
 
Philip,

Thank you. It works but the temperature output is constant. I think I should change the initial and boundary temperature conditions.

Regards,

Marco.

bigphil May 25, 2011 09:58

Marco,


Yes the tutorial case is not set-up for showing off the temperature solving capabilities,
you could change one of the boundary conditions in "0/T" to see a non-uniform temperature, something like:
Code:

    right
    {
      type            fixedValue;
      value          uniform 500;
    }

By the way, d2dt2Schemes in system/fvSchemes should be changed to "Euler" if you want to look at transient stresses:
d2dt2Schemes
{
default Euler;
}


Philip

masb May 26, 2011 07:35

Thermal stress
 
Philip,

Thanks a lot! It works fine. Do you have an idea how to show the displacement induced by the thermal expansion?

Regards,

Marco.

bigphil May 26, 2011 07:43

Marco,

The displacement field D is a combination of the displacements due to the traction/displacement boundary conditions and also the displacement due to thermal expansion.

To view just thermally induced displacements you would have to set your D boundary conditions to something like all of them as traction-free excepts for one or two as symmetry plane or something like that.

Also I would recommend you validate this solver against some sort of analytical solution, because I am not sure how often it is used.

Philip

masb May 26, 2011 07:58

Displacement
 
Dear Philip,

I will do that.

Thank you again,

Marco.

Hisham July 14, 2011 09:13

compactNormalStress in solidDisplacementFoam
 
Dear Philip,

Thanks a lot for the info.

Regarding the solidDisplacementFoam solver, there is a switch called "compactNormalStress", which controls the way the "divSigmaExp" vector field is calculated. I would like to know what does this switch represent in physical terms?

This switch is set to 'yes' in the solver plate with hole example.

I would like to know also if there are any plasticity implementations available for that solver.

Thanks a lot for any help!

Hisham

bigphil July 14, 2011 10:35

Hi Hisham,

divSigmaExp seems to be the portion of div(sigma) which is treated explicitly. I am not too familiar with this solver (I use stress solvers based on newStressedFoam in OpenFOAM extend). I am not quite sure what difference the compactNormalStress makes, it seems to just be a slightly different way of calculating the explicit portion of the divergence of sigma. When it is set to yes it seems to be doing the same as newStressedFoam. I would recommend you run a few test cases with it on and off to see how it might effect the results.

As regards plasticity, here in UCD (http://adhesion.ucd.ie/openfoam) solid stress plasticity solvers and material models have been developed, but as yet they have not been released into OpenFOAM extend (I imagine they will be included at some stage). These solvers are based around the newStressedFoam solver.

You could contact Prof. Ivankovic at UCD asking nicely to have access to them, or maybe some sort of collaboration.

Hope it helps,
Philip

Hisham July 14, 2011 10:59

Hi Philip

Thanks a million for your quick and efficient response :)

I will explore the OF extended project (read about it a while ago and seemed to have forgotten about it)

I will review Prof. Ivankovic publications then I'll contact him with less ignorance

Thanks again

Hisham


All times are GMT -4. The time now is 23:52.