MATLAB Answers

Haw can I use the PDE toolbox to model isotropic thermal expansion?

4 views (last 30 days)
AlexL
AlexL on 21 Aug 2017
Commented: fffatttihhh on 23 Jan 2020
Hi
In the attached sample code, I am trying to emulate isotropic thermal expansion of a RHS beam, attached at one end. Basically, I expect the beam to expand/inflate as a function of temperature.
I am having a number of troubles making the model work effectively. I find it extremely sensitive to the definition of the f_coefficient. For example, running the code with centre_correction equal to zero (in fcoef_thermal line 12), the result is crazy, but with a small change to centre_correction = [-0.01254135,0,0.000265225] the result is more reasonable.
To resolve this, it seems that I need to adjust the force term to make some allowance for the geometry of the Mesh model, and possibly even including some way of damping the force depending on the displacement in order to get a more realistic result. This is proving difficult:
The Gauss points sent to the f_coefficient function appear to be 2450 rather randomly selected points from the list in model.Mesh.Nodes. In this instance, as the solver repeatedly sends requests to fcoef_thermal, the coordinates of the request [region.x, region.y, region.z] do not change throughout execution. There is also no change to the values in state.u . (This is confusing, because ultimately the solver does calculate a deflection). Why does state.u not change throughout the calculation?
If none of the inputs to region or state change during execution, how I could implement a deflection dependent output for f_coefficient?
Further, in 3D, the field region.subdomain doesn't identify which node is requested. This is inconvenient because searching or interpolation would be required to just identify a point we could already index straight from the model.Mesh.Nodes list.
Any suggestions would be much appreciated.
Alex

  0 Comments

Sign in to comment.

Accepted Answer

Ravi Kumar
Ravi Kumar on 23 Jan 2020
The latest version of MATLAB has the capabality to solve for thermal expansion and thermal stress by specifying temperature as a body load. Check out this example.
Regards,
Ravi

  0 Comments

Sign in to comment.

More Answers (2)


fffatttihhh
fffatttihhh on 23 Jan 2020
Yes but this does not allow determination of temperature distribution as a function in structural model.

  2 Comments

Ravi Kumar
Ravi Kumar on 23 Jan 2020
You can create a thermal model using: createpde('therma'); and then solve for themperature distribution based on themal BCs. Use such a temperature distribution to solve a structural model to find expansion/stress due to thermal loading as a body load. If this does not answer your question, can you describe the model you want to solve.
Regards,
Ravi
fffatttihhh
fffatttihhh on 23 Jan 2020
Thank you Ravi. This is what I have currently. But, there is another problem. I think, it is also not possible to determine anisotropic CTE.

Sign in to comment.