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 |

SUBROUTINE GENSOLVE(GBN, V, G, RADIUS, VM, SV,

& TPREV, TNEW, IMAX, IUSE, IFAIL)

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

INTEGER IMAX, IUSE, IFAIL

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 G 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 of 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 the time (i.e. the value of TNEW when it was called at the previous temperature in the cooling history). If the routine is being called for the first time, TPREV should be set to 1.0. The units of TPREV are seconds.

**TNEW**- real- TNEW is the time to formation of a given volume fraction of bainite or Widmanstätten ferrite (in seconds).
**IUSE**- integer- IUSE is the number of iterations used.
**IFAIL**- integer- IFAIL = 1 if V > VM
- IFAIL = 2 if IUSE > IMAX
- IFAIL = 0 otherwise.

- IFAIL as follows :-
- IFAIL = 1 if V > VM
- IFAIL = 2 if IUSE > IMAX
- IFAIL = 0 otherwise.

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

Delta V/V < 0.05 ~~~~~ if 0.05 < V < 0.65or

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

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