Stress and temperature relaxation towards equilibrium: "equilibrating"

Equilibration method

The equilibration processes for pressure and temperature are applied in operator-split fashion (i.e. at constant total volume) over a finite time interval. A number of substeps is specified; the time interval is divided by this and each equilibration process applied in turn over the substep interval.

Pressure

The pressure difference between the phases is calculated. The bulk sound speed (dp/drho at constant entropy) is used to estimate the change in volume fraction necessary to give pressure equilibrium. The actual change in volume fraction applied is obtained assuming an exponential approach to equilibrium, with some time constant tau. The fraction of the estimated change for equilibrium is given by
f = 1 - exp(-dt / tau)

where dt is the time interval. The specific internal energy of each phase is also adjusted in a forward-time way by applying the p.dv work. This adjustment is made conservative by using the (volume-averaged) mean pressure and density in the cell.

If complete equilibration is desired, the equilibration time scale should be set very small (not zero though). A safety factor is applied to the change in volume fraction for numerical stability. If this is fs say, the number of substeps should be at least some small integer (like 5 or 10) times 1/fs.

Temperature

The temperature difference between the phases is calculated. The specific heat capacity constant volume is used to estimate the heat transfer necessary to give thermal equilibrium. The actual change in specific internal energy applied is obtained assuming an exponential approach to equilibrium, with some time constant tau. The fraction of the estimated change for equilibrium is given by
f = 1 - exp(-dt / tau)

where dt is the time interval.

If complete equilibration is desired, the equilibration time scale should be set very small (not zero though). A safety factor is applied to the change in volume fraction for numerical stability. If this is fs say, the number of substeps should be at least some small integer (like 5 or 10) times 1/fs.

Input

tau_mech tau_therm	# time scales for mechanical and thermal equilibration
p_tol t_tol		# "negligible" difference in p and T between phases
substeps                # number of times to cycle equilibration process (e.g. 5
dfvmaxsub               # max fractional change in volume fraction per subcycle (e.g. 0.2)
sfac                    # relaxation factor (1.0 for finite-rate equilibration;
                        #    less - e.g. 0.7 - for instantaneous equilibration)
dtempmax fdtempmax      # max absolute and fractional change per cycle in T equilibration (e.g. 100.0 and 0.1)
etol erelfac            # tolerance and relaxation factor on energy conservation during T equilibration (e.g. 1.0e-2 MJ/kg and 0.8)
maxits                  # max iterations of equilibration schemes; used to prevent infinite loops in unphysical materials

Notes