*LOAD_THERMAL preload options
1. Explicit Dynamic Relaxation (ExpDR) – temperature load
ExpDR is an optional transient analysis that takes place in ‘pseudo-time’ (precedes regular transient analysis). ExpDR is typically used to preload a model before onset of transient loading. In ExpDR, the computed nodal velocities are reduced each time step by the dynamic relaxation factor (DRFCTR, the given default=0.995). Thus the solution undergoes a form of damping during DR. The distortional kinetic energy is monitored. When this KE has been sufficiently reduced, i.e., the “convergence factor” has become sufficiently small, the DR phase terminates and the solution automatically proceeds to the transient analysis phase.
The value of DRFCTR=1.0 gives zero damping because the dynamic relaxation factor is defined as (1 - c x dt), where c is the damping coefficient and dt the time step. Thus as you decrease the dynamic relaxation factor from one, you are increasing the damping.
It is recommended that you try and set DRFCTR such that the most important mode is critically damped. Overdamped means it takes too long to converge. Underdamped gives oscillatory response which may be a problem in specific cases (e.g. with contact/friction, overshooting past the right solution then coming back to it generates forces in the opposite direction).
In general, smaller amounts of damping (larger values of DRFCTR) with tighter tolerances (smaller values of DRTOL) provide the better solution transitions from the preload to the onset of transient loading. Unfortunately, too much reduction in these two factors can lead to significant CPU.
One other bit of inconvenience, at least, from my experience, and also often seen in other parameter type studies, is that the ExpDR feature does require some trial-and-error effort to obtain CPU efficient ranges of dynamic relaxation factors. DR works best when there are few non-linearities in material response and geometry.
A preload temperature load (*LOAD_THERMAL) can be thought of as an external load whereas prescribing a preload stress (*INITIAL_STRESS_SECTION) is considered to be an internal load. An external load would need to be retained in order to maintain equilibrium when transitioning the preload to the transient analysis phase.
Adjust alpha, the coefficient of thermal expansion (or temperature load), to get desired preload (bolt stress). The trial stress = E * alpha * dT, with the target stress = 218.50, that used in prescribed stress (*INITIAL_STRESS_SECTION) simulation. Solving for alpha = 218.50/(2.00e5 * 1.0) = 1.0925e-3. This will underestimate the stress because the bolt can shorten. An alpha = 2.5000e-3 was used to obtain the plotted results.
*CONTROL_TERMINATION
$# endtim endcyc dtmin endeng endmas
2.000000 0 0.000 0.000 0.000
*CONTROL_DYNAMIC_RELAXATION
$# nrcyck drtol drfctr drterm tssfdr irelal edttl idrflg
$ 250 0.0100 0.99500
250 0.0010 0.99500 1.997900
$ 250 0.0001 0.99500
$ 250 0.0010 0.97500
$ 250 0.0010 0.95000
$ 250 0.0010 0.90000
*DATABASE_BINARY_D3DRLF
$# dt/cycl lcdt/nr beam npltc psetid
1
$# *MAT_ADD_THERMAL_EXPANSION, using coefficient of thermal expansion, can be
$# adjusted to get a desired preload (for DR using SIDR=1 on *DEFINE_CURVE) for
$# selected solid parts (to a specified external load).
$#
$# *MAT_ADD_THERMAL_EXPANSION will also maintain the preload (for subsequent
$# transient analysis phase using SIDR=0) for selected solid parts (to a spec-
$# ified external load).
*MAT_ADD_THERMAL_EXPANSION
$# pid lcid mult lcid multy lcid multz
10 0 2.5000E-3 0 0.000 0 0.000
*MAT_ADD_THERMAL_EXPANSION
$# pid lcid mult lcid multy lcid multz
20 0 2.5000E-3 0 0.000 0 0.000
*LOAD_THERMAL_LOAD_CURVE
$# Transient analysis phase and DR phase temperature load curves.
$# lcid lciddr
102 101
*DEFINE_CURVE_TITLE
$# The preload condition described by Explicit Dynamic Relaxation (ExpDR) is
$# typically invoked by setting parameter SIDR in a load curve to 1 or 2.
$#
$# Ramp the load during DR phase and then hold load constant until solution
$# converges. Make sure convergence occurs after 100% of preload is applied.
Bolt Temperature
$# lcid sidr sfa sfo offa offo dattyp
101 1 1.000 1.000 0.000 0.000 0
$# a1 o1
0.000 0.000
1.000 -1.000
100.000 -1.000
*DEFINE_CURVE_TITLE
$# Maintain the preload in subsequent transient analysis phase (use separate
$# load curve, SIDR=0, without the ramp)
Bolt Temperature
$# lcid sidr sfa sfo offa offo dattyp
102 0 1.000 1.000 0.000 0.000 0
$# a1 o1
0.000 -1.000
100.000 -1.000
*INITIAL_VELOCITY_GENERATION
$# Apply transient loads AFTER preload is established. Use zero birth time.
$#nsid/pid styp omega vx vy vz ivatn icid
999 3 0.000 175.00000 0.000 0.000 0 4
$# xc yc zc nx ny nz phase iridid
0.000 0.000 0.000 0.000 0.000 0.000 1 0
*INITIAL_VELOCITY_GENERATION_START_TIME
$# Use *INITIAL_VELOCITY_GENERATION_START_TIME for problems whose transient
$# response is driven by initial velocity. For ExpDR, this is zero.
$# stime
0.000
*DEFINE_COORDINATE_NODES_TITLE
Local_Coordinate_System for impacting part assigned initial velocity
$# cid n1 n2 n3 flag dir
4 5000002 5000001 5000003 0X