Introduction
It is very easy to export an MCalibration material model to a temporary file which is then read into ANSYS Workbench.ย This approach, which is described in detail in the next two sections, works well as long as the material model is temperature independent. For temperature-dependent material models one needs to be a bit more careful. This correct approach in this case is described in the last two sections.
Temperature Independent Material Models - Method 1
Temperature independent material models can easily and quickly be exported from MCalibration into ANSYS Workbench. The recommended way to do this is to first export the material model into an XML-file, which is then read into Workbench. The following movie shows the steps. Note that if you use this approach then ANSYS will know and control the units of all material parameters.
Exporting a MCalibration material model into ANSYS Engineering Data format is quick and easy.
Temperature Independent Material Models - Method 2
A different method is to export the MCalibration material model into a dat-file format, which then can be pasted into ANSYS Mechanical. The following movie shows the steps. In this case only the parameter values are provided to ANSYS, so it is up to the user to ensure that the units used by ANSYS are consistent with the units that are used by the material parameters. This can be controlled by MCalibration when exporting the material model to a file.
Both of these methods work equally well, and it is more a of a personal choice which method to use.
Temperature Dependent Material Models - Method 1
There are two ways to read in a MCalibration created temperature-dependent PolyUMod material model into ANSYS Workbench. The first method is based on exporting the material model parameters values into a dat-file which then can be read into Mechanical using the approach shown in one of the movies above. Since only the parameter values are provided, ANSYS will not attempt to change any material parameter based on the unit system. The only thing left to do is to setup ANSYS Mechanical so that the proper temperature is provided to PolyUMod during a FE simulation. This, unfortunately, turns out to be a bit tricky. To illustrate the approach I will use a simple FE model provided with PolyUMod (“TestCase1”, stored in C:\Program Files\PolymerFEM\PolyUMod\Test_Cases_ANSYS
), and an exemplar PolyUMod Three Network (TN) model with temperature-dependence. The following figure shows the MCalibration window. The material model is temperature dependent since both thetaHat
and n
are non-zero. The shear modulus in this case is given by:
\(\left[ 1+ \displaystyle\frac{\theta-\theta_0}{\hat{\theta}}\right] \mu\)
In this equation \(\theta\) is the temperature, and based on the model calibration, should have a value of -300 for temperatures expressed both in Centigrade and Kelvin.
If we follow method 2 for temperature-independent material models, we can then easily provide the parameter values into ANSYS Mechanical. See the following figure:
The final step is to make Mechanical use temperatures in Kelvin. Or more specifically, make ANSYS provide the temperature in Kelvin when calling the PolyUMod library. You can specify the temperature units in the lower right-hand corner of the ANSYS Mechanical window:
It is not obvious (at least not to me) how one can easily find out what temperature value that ANSYS provides to PolyUMod during a stress analysis. One somewhat advanced way to find out is to change the PolyUMod global parameter VERB
to a value of 3. The VERB
parameter is specified as TBDATA, 6, 3
(see figure above). This change will instruct PolyUMod to dump a large amount of data into the solve.out
file during a simulation. It will generate so much data that you will likely want to only run the FE simulation a very short time, and then stop it. By doing this for different ANSYS unit systems and Environment Temperature values, I have found that I can get the proper temperature value provided to PolyUMod by setting ANSYS temperature units to be Celsius, and specifying the Environment Temperature to have the target temperature in Kelvin, (even though ANSYS indicates that the temperature unit as Celsius).
This approach seems a bit odd to me, but it appears to be the easiest way to ensure that the proper temperature is provided to PolyUMod. Note that if you specify the ANSYS unit for temperature to be Kelvin, then PolyUMod dot not get the specified Environment Temperature but instead a value that is 273 off from that value. I’m not sure why ANSYS does that. Here is a screenshot of the solve.out file that shows the actual temperature value:
If you try these steps, then don’t forget to set VERB
back to 1 when done.
With these changes I can finally run the ANSYS model at any temperature that I like. Here is a figure of the final stress contours when the temperature is 298 K.
Summary:
- Export the MCalibration material model (with proper units) to a dat-file.
- Read in the MCalibration generated dat-file as a command snippet into the ANSYS Mechanical parts where it should be applied.
- Set the ANSYS Mechanical temperature unit to be Celsius, and specify the target temperature (in Kelvin) as the Environment Temperature.
Temperature Dependent Material Models - Method 2
It is also possible to import the MCalibration generated temperature-dependent material model into ANSYS Engineering Data. The first step is simply to follow the movie above. Then, within Engineering Data change the temperature units from Kelvin to Celsius, see the following image.
Then setup ANSYS Mechanical as usual, with the following temperature related changes. First, set the ANSYS Mechanical temperature unit to be Celsius.
Then specify the Environment Temperature to have the target temperature in Kelvin, (even though ANSYS indicates that the temperature unit as Celsius):
See the previous section for why these changes are needed.
That is it! Contact our support team know if you have any questions.