Setting temperature and field data using user subroutines
Elements tested
T3D2
Problem description
This set of tests verifies that temperature and field variable values are properly transferred to a structure when the values are set using user subroutines. These tests are modifications of the tests described in Defining temperature, field variable, pressure stress, and pore fluid pressure values. Wherever results files were used in those tests, most have been replaced here with user subroutines. The structure being analyzed is a cantilevered truss made up of 10 T3D2 elements.
The tests are as follows:
- utmpfvs1.inp
This file tests setting temperature and more than one field variable using user subroutines. The variation of temperature and all three field variables are linear with time as follows:
Initial value Final value Temperature 100 200 Field variable 1 100 200 Field variable 2 200 250 Field variable 3 100 200 - utmpfvs2.inp
This file tests setting a field variable from a user subroutine without temperature being present in the problem. This is an important test because of the way that temperatures and field variables are stored internally. The field variable varies linearly with time, as follows:
Initial value Final value Field variable 100 200
(The problem that is analogous to test xtfvtrs3.inp in Defining temperature, field variable, pressure stress, and pore fluid pressure values is omitted, since this analysis would not test any features that were not already covered by the other tests in this section.)
- utmpfvs4.inp
This is a three-step problem involving temperature and one field variable. In the first step an amplitude curve is used to set temperature to 200 and the field variable to 250. In the second step temperature and the field variable are set twice: first, values are read from results files, and then the user subroutines multiply all values by two. This results in ramping the temperature to 400 and the field variable to 500 over the step. The results files used are as follows:
xtfvtrt1.fil Temperature
xtfvtrt2.fil Field variable 1
(These two heat transfer problems are described further in Defining temperature, field variable, pressure stress, and pore fluid pressure values.) In the third step both the temperature and the field variable are reset to their initial conditions.
The following must be confirmed by this test:
The user subroutine must mesh smoothly with other methods of setting temperature and field variables used in other steps.
The user subroutine must have access to values set from a results file and must be able to modify those values.
If temperature or a field variable is set by data line input and then modified by a user subroutine within the same step, the values given on the data lines must be ignored.
The variable
KSTEP
must be available for use in both user subroutines.
- utmpfvsr.inp
This analysis restarts utmpfvs4.inp from the third step. Temperature and the field variable are both set using user subroutines as follows:
Initial value Final value Temperature 0 100 Field variable 0 50 - utmpfvsn.inp
This file tests setting all of the field variables simultaneously in user subroutine UFIELD. The final results are the same as those obtained in utmpfvs1.inp.
Results and discussion
Input files
- utmpfvs1.inp
Stress analysis, first run.
- utmpfvs1.f
- utmpfvs2.inp
Stress analysis, second run.
- utmpfvs2.f
User subroutine UFIELD used in utmpfvs2.inp.
- utmpfvs4.inp
Stress analysis, analogous to xtfvtrs4.inp.
- utmpfvs4.f
- utmpfvsr.inp
Stress analysis, restart of utmpfvs4.inp.
- utmpfvsr.f
- utmpfvsn.inp
Stress analysis, NUMBER.
- utmpfvsn.f