Thermal Expansion Coefficient Conversion Error

v2.0.0: Thermal expansion coefficients entered in °C units are shown as °F units when imported to a model with imperial units, but the values are not converted.

Can you be more specific about the steps to reproduce the problem?

  • Create a file with mm, ton, s, °C units.
  • import and mesh a simple step file.
  • Create Material-A with the following properties.

  • Open a material library and save the material.
  • Create another file with in, lb, s, °F units.
  • Import and mesh a simple step file.
  • Open the material library and assign Material-A to the file.
  • In the new file, open the material edit dialog, and the properties are as follows.

  • Although the new unit labels are shown. Only the “Zero temperature” has been converted to the new units.

While preparing this post, I remembered a similar bug previously resolved.

I was able to reproduce this bug. Thank you.

1 Like

I think I fixed the problem. In the following days, I will release a new developer version where you can test it out.

Thank you for the quick response @Matej.

Please try the new version 2.0.3 if it is working as it should.

I am still getting some conversion errors, but I have not yet determined exactly what is and what is not working properly. I will do some experimenting over the coming week and try to clearly define what is happening.

Thank you for looking into this.

Please test on the materials that were originally in the library and the ones you add in version 2.0.3. Materials added in previous versions might have problems. To fix those, go to each value field, delete it, and overwrite it with the same value.

I did a few different tests:

  • I created a material with imperial units then opened it in another file with metric units. The conversions were all correct.

  • I created a material with metric units then opened it in another file with imperial units. The conversions were all correct.

  • I opened two previously defined materials from the default material library in both imperial units and metric units. The conversions were all correct.

  • I opened two previously defined materials from my custom material library. Most of the conversions were correct, but the following items were not correct. 1. For one material with temperature dependent properties, temperature for the density was converted incorrectly, and the thermal conductivity coefficients and temperatures were not converted. 2. For another material, yield stress (under plasticity) was not converted.

I deleted the incorrect properties from the “Selected” box of the material editor then added the properties back in and pasted the previously entered values. For the first material, the temperature for the density still was incorrectly converted. For both materials, the first entry for the temperature dependent values was converted, but the other values in the temperature dependent table were not converted.

I did not enter temperature curves for the tests with newly entered materials, so I do not know if the entries below the first one would be converted correctly.

Thank you for testing all the scenarios. In the case of using old materials, there is no solution. The problem was that, previously, when the user entered a value, PrePoMax attached a unit to it, but this unit was not saved in the library. If the user entered a value with the unit, both were saved. So, there is no way of correctly restoring old material values. And this cannot be fixed.

Can you reproduce this behavior also with newly added materials? Adding/removing properties or something else?

Thank you for the update. I will create a new custom material library then recreate and check my materials as needed.

I created new temperature dependent materials in both imperial and metric units and saved them in both the default library and my custom library. When I opened each one in the editor in the other unit system, the first temperature data point for each property was converted, but the properties at additional temperatures were not converted. In other words, for each property, only the first point on the temperature curve was converted.

Thank you for working on this. Unfortunately, for now, our ASME standards list material properties with imperial units, but usually the FEA results must be reported with metric units.

So this is still not working?

It doesn’t appear to be working. As far as I can tell though the only remaining problem is with temperature dependent properties beyond the first entry.

Ok, I will look into it.

I can confirm the bug, and I think I solved it.

See: Thermal Expansion Coefficient Conversion Error - #14 by GB61

1 Like

Thank you for tracking down this bug Matej.

Version 2.0.10 contains the fix. Did it help?

@Matej, I haven’t had a chance to check the fix yet, but I have found a potentially related bug in v2.0.11.

I created a model in v2.0.11 using imperial units. When I imported a material from my material library with Specific Heat defined, the material showed in red text indicating an error. I opened the material editor, and when I selected Specific Heat an error came up. I couldn’t close the error because with the error showing, I couldn’t deselect specific Heat. I had to stop PrePoMax from the Windows Task Manager.

I then opened a file in v2.0.3 and edited the material to remove the Specific Heat. I could then use the material in v2.0.11. I could also define the Specific Heat in v2.0.11 without any problem. The error appears to be related to the change in mass units. The units in v2.0.3 included a lb mass unit in the Specific Heat units.

The attached picture shows the error.

This is a bug that will likely rarely cause a problem. It will only happen when a previously defined material includes Specific Heat originally entered in imperial units. Therefore, If you don’t want to spend time on it, I will just check the presence of Specific Heat being defined before importing materials into v2.0.11 or later. After all existing materials have been checked, there will not be an issue.

@Matej, I have checked the unit conversion in v2.0.11.

I created a material and entered it once with Imperial units and again with SI units. I entered the following properties:

  • Density: Entered a single density at room temperature.
  • Elastic Properties: Entered temperature dependent values.
  • Plastic Properties: Entered temperature dependent values.
  • Thermal Expansion: Entered temperature dependent values.
  • Thermal Conductivity: Entered temperature dependent values.

When opening the materials in the opposite unit systems, everything worked correctly throughout the temperature range except the following:

Converting from Imperial to SI units:

  • Elastic properties: Young’s modulus was not converted.
  • Thermal Expansion: Thermal expansion coefficient was not converted.

Converting from SI to Imperial units:

  • Density: Density was not converted.
  • Thermal Expansion: Thermal expansion coefficient was not converted.

I have attached a link to a material library with the materials as entered. Material SAF_2507-EP was entered with (in, lbf·s²/in, s, °F) units, and Material SAF_2507-EP-SI was entered with (mm, ton, s, °C) units.

Unit Conversion Materials.lib