Program Library

- Provenance of code.
- Purpose of code.
- Specification.
- Description of subroutine's operation.
- References.
- Parameter descriptions.
- Error indicators.
- Accuracy estimate.
- Any additional information.
- Example of code
- Auxiliary subroutines required.
- Keywords.
- Download source code.
- Links.

G.I. Rees,

Phase Transformations Group,

Department of Materials Science and Metallurgy,

University of Cambridge,

Cambridge, U.K.

To calculate the time required to form a given volume fraction of Widmanstätten ferrite or bainite.

Language: | FORTRAN |

Product form: | Source code |

DOUBLE PRECISION FUNCTION CCTSOLVE(GBN, V, G, RADIUS,

& VM, SV, TPREV)

DOUBLE PRECISION GBN, V, G, RADIUS, VM, SV, TPREV

The time taken to achieve the given volume fraction V (as calculated by the function MAP_STEEL_WKINETIC) is calculated using a bisection method [1] for the given growth rate and nucleation rate.

Bainite and Widmanstätten ferrite are assumed to grow as plates under carbon
diffusion control. The input parameters include the plate growth rate G, the critical
plate tip radius rho_{c}, and the austenite grain surface area per unit volume
S_{v}.

- W.H. Press, B.P. Flannery, S.A. Teukolsky, and W.T. Vetterling, Numerical Recipes, Cambridge University Press, Cambridge, U.K., (1986).

**GBN**- real- GBN is the effective nucleation rate
*I*of bainite or Widmanstätten ferrite per unit area of austenite grain boundary (in m^{-2}s^{-1}). **V**- real- V is the volume fraction of Widmanstätten ferrite or bainite.
**TC**- real- TC is the temperature (in centigrade).
**G**- real- G is the growth rate of a plate under carbon diffusion control (in m s
^{-1}). **RADIUS**- real- RADIUS is the critical radius of curvature rho
_{c}of a ferrite plate tip which gives zero growth rate (in metres). **VM**- real- VM is the maximum allowable volume fraction V
_{max}of either bainite or Widmanstätten ferrite that can form at the given temperature. **SV**- real- SV is the surface area of austenite grain boundary per unit volume S
_{v}(in m^{-1}). **TPREV**- real- TPREV is the previous value of MAP_STEEL_CCTSOLVE (i.e. the value of MAP_STEEL_CCTSOLVE when it was called at the previous temperature in the cooling history). If the function is being called for the first time, TPREV should be set to 1.0. The units of TPREV are seconds.

**MAP_STEEL_CCTSOLVE**- real- MAP_STEEL_CCTSOLVE is the time to formation of a given volume fraction of bainite or Widmanstätten ferrite (in seconds).

None.

The function finds a solution for V for which the error Delta V satisfies:

(Delta V/V) < 0.05 ~~~~~ if 0.05 < V < 0.65

or

(Delta V/V) < 0.015 ~~~~ if V < 0.05 ~~~or~~~ V > 0.65

None.

DOUBLE PRECISION GBN, V, G, RADIUS, VM, SV, TPREV DOUBLE PRECISION MAP_STEEL_CCTSOLVE, SOLX READ (5,*) GBN, V, G, RADIUS READ (5,*) VM, SV, TPREV SOLX = MAP_STEEL_CCTSOLVE(GBN, V, G, RADIUS, VM, SV, TPREV) WRITE (6,10) SOLX 10 FORMAT ('Time = ',D13.5,' seconds') STOP END

0.10275D-01 0.13810D-01 0.11406D-04 0.29716D-08 0.27369D+00 0.20000D+05 0.10000D+01

Time = 0.38163D+02 seconds

nucleation rate, bainite, Widmanstatten ferrite

**
MAP originated from a joint project of the National Physical Laboratory and the University of Cambridge.
**