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.

Added to MAP: August 1999.

Calculates the heterogeneous nucleation rate required to give a specified volume fraction of allotriomorphic ferrite after continuous cooling for a given length of time.

Language: | FORTRAN |

Product form: | Source code |

DOUBLE PRECISION FUNCTION MAP_STEEL_NUCSOLVE & (AREA,ANS,V,SV,BPRE,ALP,ETA,ZETA,XBAR,XAGA,XGAG,TIME,IFAIL) DOUBLE PRECISION AREA,ANS,V,SV,BPRE,ALP,ETA,ZETA,XBAR,XAGA DOUBLE PRECISION XGAG,TIME,MAP_STEEL_NUCSOLVE INTEGER IFAIL

MAP_STEEL_NUCSOLVE finds the heterogeneous nucleation rate required to form a given volume fraction of allotriomorphic ferrite, during continuous cooling from austenite, for a specified length of time. It uses subroutine MAP_STEEL_AVOLF to calculate the volume fraction of allotriomorphic ferrite as a function of nucleation rate [1]. The bisection method [2] is used to find the solution.

- H.K.D.H. Bhadeshia, L-E Svensson, and B. Gretoft, 1987,
*Proc. Conf. Welding Metallurgy and Structural Steels*, ed. J.Y. Koo, TMS AIME, Warrendale, Penn., 517-530. - W.H. Press, B.P. Flannery, S.A. Teukolsky, and W.T. Vetterling, 1986,
*Numerical Recipes*, Cambridge University Press, Cambridge, U.K. - H.K.D.H. Bhadeshia, 1982,
*Metal Science*,**16**, 156-165.

**V**- real- V is the required volume fraction of allotriomorphic ferrite.
**SV**- real- SV is the austenite grain boundary surface area per unit volume (m
^{-1}). **BPRE**- real- BPRE is the previous value of the function MAP_STEEL_NUCSOLVE for the allotriomorphic ferrite boundary nucleation rate per unit area (in m
^{-2}s^{-1}), and is used as an initial value for the nucleation rate in the calculations. When the function is called for the first time, this value should be set to 1.0 on entry. **ALP**- real- ALP is the one-dimensional parabolic thickening rate constant perpendicular to the grain boundary for ferrite allotriomorphs (ms
^{-0.5}). **ETA**- real- ETA is the ratio of the one-dimensional parabolic lengthening rate constant parallel to the grain boundary, to the 1-d parabolic thickening rate constant perpendicular to the grain boundary (ALP). It is usually defined as 3.
**XBAR**- real- XBAR is the mole fraction of carbon in the bulk austenite.
**XAGA**- real- XAGA is the mole fraction of carbon in the ferrite at the alpha/gamma interface.
**XGAG**- real- XGAG is the mole fraction of carbon in the ferrite at the alpha/alpha+gamma boundary.
**TIME**- real- TIME is the incubation time for ferrite formation, allowing for the effects of austenite grain size as well as niobium and boron in solid solution (seconds).

**AREA**- real- AREA is the fraction of austenite grain boundary covered by ferrite.
**ANS**- real- ANS is the value of the integral of the extended area over all space, corrected for extended volume effects.
**ZETA**- real- ZETA is the volume fraction of ferrite formed, divided by the equilibrium volume fraction of ferrite.
**IFAIL**- integer- IFAIL = 0 on exit if a solution was found. IFAIL is set to 1 or 2 if no solution is found (see Error Indicators below)
**MAP_STEEL_NUCSOLVE**- real- MAP_STEEL_NUCSOLVE is the nucleation rate required to form an allotriomorphic ferrite volume fraction, V, in time, TIME.

IFAIL=0 on successful exit of the subroutine.

IFAIL=1 if the number of iterations in the subroutine exceeds 40; MAP_STEEL_NUCSOLVE is set to the last estimated value for the nucleation rate.

IFAIL=2 if the number of iterations exceeds 40 when attempting to bracket the solution; MAP_STEEL_NUCSOLVE remains unchanged on exit.

A solution for the nucleation rate is accepted if the predicted volume fraction satisfies the criterion:

- Delta_V/V < 0.01

where V is the target volume fraction, and Delta_V is the error in its determination.

None.

IMPLICIT NONE DOUBLE PRECISION ALP,AREA,ANS,AREA,BPRE,ETA,RATE,SV,TIME DOUBLE PRECISION V,XAGA,XBAR,XGAG,ZETA DOUBLE PRECISION MAP_STEEL_NUCSOLVE INTEGER IFAIL C WRITE (*,*) WRITE (*,*) 'Input SV, ALP, ETA, TIME' READ (*,*) SV,ALP,ETA,TIME WRITE (*,*) 'Input XBAR, XAGA, XGAG' READ (*,*) XBAR,XAGA,XGAG WRITE (*,*) 'Input V: required volume fraction:' READ (*,*) V BPRE = 1D0 RATE = MAP_STEEL_NUCSOLVE & (AREA,ANS,V,SV,BPRE,ALP,ETA,ZETA,XBAR,XAGA,XGAG,TIME,IFAIL) IF ( IFAIL.NE.0 ) THEN WRITE(*,*) 'No solution found after 40 iterations' ELSE WRITE (*,1) V, RATE WRITE (*,2) ANS, ZETA, AREA ENDIF STOP 1 FORMAT( // 'Required volume fraction = ',D12.3 / & 'Nucleation rate needed = ',D12.3,' 1/m(2)s') 2 FORMAT( //'Value of the integral, ANS = ', & D12.5/'Normalised volume fraction of ferrite, ZETA = ',D12.5/ & 'Fraction of austenite GB covered by ferrite = ',D12.5) END

Input SV, ALP, ETA, TIME 10000.0 3E-6 3.0 20 Input XBAR, XAGA, XGAG 0.02 0.0002 0.06 Input V: required volume fraction: 0.01

Required volume fraction = 0.100D-01 Nucleation rate needed = 0.944D+06 1/m(2)s Value of the integral, ANS = 0.37609D-01 Normalised volume fraction of ferrite, ZETA = 0.14974D-01 Fraction of austenite GB covered by ferrite = 0.46894D-01

MAP_STEEL_AVOLF

MAP_UTIL_TRAPE (called by MAP_STEEL_AVOLF)

nucleation rate, allotriomorphic ferrite, volume fraction, cooling time

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