![[MAP Logo]](../../maplogo1.gif) 
Materials Algorithms Project
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.
Top | 
Next
To calculate the time required to form a given volume fraction 
of Widmanstätten ferrite or bainite.
Top | 
Next | 
Prev
| 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
Top | 
Next | 
Prev
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 
rhoc, and the austenite grain surface area per unit volume Sv.
Top | 
Next | 
Prev
  - W.H. Press, B.P. Flannery, S.A. Teukolsky, and W.T. Vetterling, 
      Numerical Recipes, Cambridge University Press, Cambridge, U.K., (1986).
Top | 
Next | 
Prev
Input parameters
- GBN - real
- GBN is the effective nucleation rate I of bainite or Widmanstätten ferrite per unit area of austenite grain boundary (in m-2s-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 rhoc of a ferrite plate tip which gives zero growth rate (in metres).
 
 
- VM - real
- VM is the maximum allowable volume fraction Vmax 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 Sv (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.
 
 
Output parameters
- 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.
 
 
Top | 
Next | 
Prev
- IFAIL as follows :-
- IFAIL = 1 if V > VM
 
- IFAIL = 2 if IUSE > IMAX
 
- IFAIL = 0 otherwise.
 
 
Top | 
Next | 
Prev
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
Top | 
Next | 
Prev
None.
Top | 
Next | 
Prev
1. Program text
       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
2. Program data
0.10275D-01   0.13810D-01   0.11406D-04   0.29716D-08
0.27369D+00   0.20000D+05   0.10000D+01
3. Program results
Time = 0.38163D+02 seconds.
Top | 
Next | 
Prev
MAP_STEEL_WKINETIC
Top | 
Next | 
Prev
nucleation rate
Top | 
Next | 
Prev
Download source code
Top | 
Prev