Haw can I use the PDE toolbox to model isotropic thermal expansion?
6 views (last 30 days)
Show older comments
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
Accepted Answer
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
More Answers (2)
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
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
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.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!