Вы находитесь на странице: 1из 110

An Investigation of the Suitability of Using AISI 1117

Carbon Steel in a Quench and Self-Tempering Process to


Satisfy ASTM A 706 Standard of Rebar

by

Matthew Allen

A thesis submitted in conformity with the requirements


for the degree of Master of Applied Science
Graduate Department of Materials Science and Engineering
University of Toronto

Copyright by Matthew Allen, 2011

An Investigation of the Suitability of Using AISI 1117 Carbon Steel


in a Quench and Self-Tempering Process to Satisfy ASTM A 706
Standard of Rebar
Matthew Allen
Master of Applied Science
Graduate Department of Materials Science and Engineering
University of Toronto
2011

Abstract
Experiments were conducted to investigate the potential of using a quench and self-tempering
heat treatment process with AISI 1117 steel to satisfy the mechanical properties of ASTM A 706
rebar. A series of quenching tests were performed and the resulting microstructure and
mechanical properties studied using optical microscopy, microhardness measurement, and tensile
tests. The presence of martensite throughout the samples contributed to the enhanced strength
and strain-hardening ratio (tensile to yield strength) of the material. The experimental results
showed that AISI 1117 is capable of meeting the ASTM standard. In addition to the
experiments, a computer model using the finite difference method and incorporating heat transfer
and microstructure evolution was developed to assist in future optimization of the heat treatment
process.

ii

Acknowledgments
First, I would like to thank my supervisor Professor Zhirui Wang for his invaluable guidance and
technical insight throughout this endeavor. I would also like to extend my sincere appreciation
for his continuous encouragement and reinforcement from which I found a reliable source of
motivation.
I would also like to convey my thanks to Anand and Jeff Persad from A&C Tool. It was through
their generosity that I was able to perform my experiments. As always, it was a privilege and a
pleasure to work with them.
Special thanks also go to Don Allen from BLM. His support and assistance helped to make my
research possible.
Last but certainly not least, I would like to thank my wife Amy and family Charles, Darlene,
Jack, Bill, and Quinn for their unconditional love and support. I would especially like to thank
my wife Amy for her strength throughout this challenging time and for all the sacrifices she
made to make this endeavor possible. I am truly fortunate to have such an amazing partner in
life.

iii

Table of Contents

1 Introduction ................................................................................................................................ 1
1.1 Mechanical Properties of Rebar Overview ......................................................................... 1
1.2 Chemical Composition of Rebar Overview ........................................................................ 1
1.3 Rebar Production Methods ................................................................................................. 2
1.3.1

Work-Hardening ..................................................................................................... 2

1.3.2

Microalloying .......................................................................................................... 2

1.3.3

Quench and Self-Tempering (QST) ........................................................................ 3

1.4 Overview of Rebar Standards ............................................................................................. 4


1.4.1

United States Rebar Standards ................................................................................ 6

1.4.2

Canadian Rebar Standards ...................................................................................... 6

1.4.3

Australian/New Zealand Rebar Standards .............................................................. 7

1.4.4

Japan Rebar Standards ............................................................................................ 7

1.4.5

German/European Rebar Standards ........................................................................ 7

2 Objectives ................................................................................................................................... 7
3 Quench and Self-Tempering Model ........................................................................................... 8
3.1 Heat Transfer Problem ........................................................................................................ 8
3.2 Finite Difference Method .................................................................................................. 10
3.2.1

Discretization ........................................................................................................ 11

3.2.2

Implicit Form of Finite Difference Equations ...................................................... 12

3.2.3

Tridiagonal Matrix ................................................................................................ 13

3.3 Microstructure Evolution .................................................................................................. 13


3.3.1

Diffusional Transformation .................................................................................. 14

3.3.2

Diffusionless Transformation: .............................................................................. 20


iv

4 Computer Model ...................................................................................................................... 21


4.1 Model Overview ............................................................................................................... 22
4.2 Input Parameters ............................................................................................................... 22
4.2.1

General Parameters ............................................................................................... 23

4.2.2

Model Parameters ................................................................................................. 23

4.2.3

Material Parameters .............................................................................................. 23

4.2.4

Isothermal Data ..................................................................................................... 24

4.3 Temperature Field ............................................................................................................. 24


4.4 Phase Formation................................................................................................................ 26
4.4.1

Applying Scheils Additivity Principle ................................................................. 26

4.4.2

Applying the Avrami Equation: The Growth Function ........................................ 28

4.4.3

Incorporating Transformation of Multiple Phases ................................................ 30

4.5 Latent Heat Generation ..................................................................................................... 31


5 Materials and Experimental Procedure .................................................................................... 32
5.1 Materials ........................................................................................................................... 32
5.2 AISI 1117, ASTM A 706, and Microalloyed Comparison ............................................... 33
5.3 Microstructure Characterization: Optical Microscopy ..................................................... 34
5.4 Mechanical Property Characterization .............................................................................. 36
5.4.1

Microhardness ....................................................................................................... 36

5.4.2

Tensile Testing ...................................................................................................... 36

5.5 Heat Treating .................................................................................................................... 38


6 Results and Discussion............................................................................................................. 43
6.1 Computer Model Results .................................................................................................. 43
6.1.1

Model Issues ......................................................................................................... 43

6.1.2

Comparison of Model with Experimental Results ................................................ 45

6.2 Experimental Results ........................................................................................................ 47


v

6.2.1

Hardness Tests ...................................................................................................... 47

6.2.2

Microstructure ....................................................................................................... 49

6.2.3

Tensile Test Results .............................................................................................. 53

7 Conclusions .............................................................................................................................. 60
7.1 Computer Model Conclusions .......................................................................................... 60
7.2 Experimental Conclusions ................................................................................................ 60
8 Future Work ............................................................................................................................. 62
9 References ................................................................................................................................ 63

vi

List of Tables

Table 1.1 Mechanical Requirements of World Rebar Standards .................................................... 5


Table 1.2 Chemical Requirements of World Rebar Standards ....................................................... 6
Table 4.1 Computer Model Input Parameters ............................................................................... 23
Table 5.1 Chemical Composition of 3/8" Dia. AISI 1117 ............................................................ 33
Table 5.2 Chemical Composition of 1" Dia. AISI 1117 ............................................................... 33
Table 5.3 AISI 1117, ASTM A 706, Microalloyed Chemical Composition Comparison............ 34
Table 5.4 Tensile specimen dimensions ....................................................................................... 37
Table 5.5 Experiment 1 heat treatment details.............................................................................. 39
Table 5.6 Experiment 2 heat treatment details.............................................................................. 40
Table 5.7 Experiment 3 heat treatment details.............................................................................. 40
Table 5.8 Experiment 4 heat treatment details.............................................................................. 41
Table 5.9 Experiment 5 heat treatment details.............................................................................. 42
Table 6.1 Inputs for model and experimental comparison ........................................................... 46
Table 6.2 AISI 1117 heat treatment Exp. 4 first sample batch mechanical properties ................. 54
Table 6.3 AISI 1117 heat treatment Exp. 4 second sample batch mechanical properties ............ 56
Table 6.4 AISI 1117 heat treatment Exp. 5: 3/8" bar stock mechanical properties ...................... 57
Table 6.5 1117 heat treatment Exp. 5: 1" bar stock first batch mechanical properties................. 59
Table 6.6 1117 heat treatment Exp. 5: 1" bar stock second batch mechanical properties ............ 60
vii

Table 7.1 Comparison of ASTM A 706 requirements and experimental results.......................... 61

viii

List of Figures

Figure 3.1 Overview of QST Model ............................................................................................... 8


Figure 3.2One-dimensional heat transfer in infinite cylinder ......................................................... 9
Figure 3.3 Discretization of Cylinder ........................................................................................... 12
Figure 3.4: Example of Sigmoidal Form of Phase Transformation .............................................. 15
Figure 3.5 Approximating a Cooling Curve Using Isothermal Steps ........................................... 15
Figure 3.6 Combining Transformation-Time Curve Segments: Additivity Rule ......................... 17
Figure 4.1 QST Computer Model GUI ......................................................................................... 21
Figure 4.2 High-Level Flow Diagram of Computer Model .......................................................... 22
Figure 5.2 As received AISI 1117 perpendicular to rolling direction .......................................... 35
Figure 5.3 As received AISI 1117 parallel to rolling direction .................................................... 35
Figure 5.5 Microhardness measurement arrangement .................................................................. 36
Figure 5.6 Tensile specimen ......................................................................................................... 37
Figure 5.7 Tensile Test Machine and Extensometer ..................................................................... 38
Figure 6.1 Example of Fe-Fe3C Phase Diagram ........................................................................... 44
Figure 6.2 Example TTT curve ..................................................................................................... 45
Figure 6.3 Experimental results .................................................................................................... 47
Figure 6.4 Model results ............................................................................................................... 47
Figure 6.5 Vickers hardness profile from Exp. 1 .......................................................................... 48
ix

Figure 6.6 Vickers hardness profile from Exp. 2 & 3 ................................................................... 49


Figure 6.7: AISI 1117 1 dia. bar austenized and air cooled ........................................................ 50
Figure 6.8 AISI 1117 1 bar quenched: centre ............................................................................. 50
Figure 6.9 AISI 1117 1" bar quenched: surface............................................................................ 50
Figure 6.10 A2 micrograph: air cooled ......................................................................................... 52
Figure 6.11 Q5 micrograph: 3 second quench .............................................................................. 52
Figure 6.12 Q3 micrograph: full quench....................................................................................... 52
Figure 6.13 Q4 micrograph: full quench....................................................................................... 52
Figure 6.14 Q6 micrograph: 30 second quench ............................................................................ 52
Figure 6.15 Q7 micrograph: 15 second quench ............................................................................ 52
Figure 6.16 AISI 1117 engineering stess-strain curves from Exp. 4: 1st sample batch ............... 54
Figure 6.17 AISI 1117 engineering stress-strain curves from Exp. 4: 2nd sample batch............. 55
Figure 6.18 AISI 1117 engineering stess-strain curves from Exp. 5: 3/8" bar stock.................... 57
Figure 6.19 AISI 1117 1" bar stock: sample A1 ........................................................................... 58
Figure 6.20AISI 1117 3/8" bar stock: sample A2 ......................................................................... 58
Figure 6.21 AISI 1117 1" bar stock mechanical properties comparison ...................................... 59

List of Appendices

Appendix 1:

Mill Report AISI 1171 1 ..................................................................................... 66

Appendix 2:

Mill Report AISI 1171 3/8 .................................................................................. 67

Appendix 3:

Example Mill Report from US Rebar Producer .................................................... 68

Appendix 4:

Computer Program - Main Function ..................................................................... 69

Appendix 5:

Ferrite Growth Function ....................................................................................... 94

Appendix 6:

Max Ferrite Function ............................................................................................ 95

Appendix 7:

Pearlite Growth Function ...................................................................................... 96

Appendix 8:

Martensite Growth Function ................................................................................. 97

Appendix 9:

DeltaPhase Function ............................................................................................. 98

Appendix 10: Carbon Equivalent Equations ............................................................................... 99

xi

Introduction

Around the world, concrete structures are reinforced by deformed steel bars, or rebar. The
design requirements of these structures are typically defined by building codes based on regional
structural practices and environmental demands. In turn, these codes often reference some
standard of rebar that define such characteristics as, dimensions, mechanical properties, and
chemical composition. The following sections provide a brief overview of these characteristics
including commentary on some of the variations between different world rebar standards.

1.1 Mechanical Properties of Rebar Overview


Strength and ductility are critical mechanical properties defined in rebar standards. Primarily,
rebar is classified or graded by its yield strength. For instance, the rebar standard in Canada,
CSA-G30.18, defines two minimum yield strength levels, 400 and 500 MPa [1]. Many standards
also reference a minimum tensile strength level either directly or indirectly. The Japanese rebar
standard, JIS G 3112, states a minimum tensile strength level while the Australian/New Zealand
rebar standard, AS/NZS 4671, defines tensile strength indirectly by specifying a minimum strain
hardening ratio in reference to the yield strength (i.e. ratio of tensile strength to yield strength)
[2, 3]. Ductility is commonly defined quantitatively by % elongation to fracture or the ratio of
tensile to yield strength, and qualitatively by a bendibility test. For example, the US rebar
standard, ASTM A 615, requires a minimum percent elongation in an eight inch tensile test
sample which varies according to bar diameter and strength level [4]. Similarly, bend tests
which specify varying sizes of mandrels and degrees of bend, require that cracks do not form on
the bent surface of the bar.

1.2 Chemical Composition of Rebar Overview


There are two general forms of carbon steel rebar that differ mainly by chemical composition:
weldable and non-weldable. This distinction is based on the maximum carbon and carbon
equivalent levels. A clear distinction is made between these forms under the US standards for
rebar. For example, ASTM A 615, which makes no provisions for weldability, does not include
a maximum carbon or carbon equivalent requirement. In comparison, ASTM A 705, defines
specific carbon and carbon equivalent levels in order to enhance the materials weldability [5]. It

should be noted that the method of calculating the carbon equivalent differs slightly from
standard to standard, with some including more alloy elements than others.

1.3 Rebar Production Methods


The general method of producing rebar involves forming the steel through a series of
successively smaller grooved rolls. However, apart from a common method of obtaining the
basic shape, there are three methods used to achieve the required mechanical properties. These
include:

Work-hardening

Microalloying

Quench and Self-Tempering

1.3.1

Work-Hardening

Work-hardening is a process that involves twisting the rebar after it has cooled (also known as
cold-working). By plastically deforming the rebar, a higher level of yield strength is achieved.
Unfortunately, there are several drawbacks to this process. Given that the rebar has been
permanently strained, the ductility is reduced. Additionally, because this process is performed
off-line from the rolling mill, additional equipment and labor is required. The combination of
poor mechanical properties and increased manufacturing costs, make this alternative an
unpopular process.

1.3.2

Microalloying

As the name implies, the microalloying process uses small additions of certain alloy elements,
typically vanadium or niobium, to increase the strength of the rebar. The microalloying elements
have a threefold influence on the mechanical properties of the steel including:
1. Grain size refinement during thermo-mechanical hot forming.
2. Lowering the austenite to ferrite transition temperature (reduces grain growth rate).
3. Precipitation hardening (impediment to dislocation movement).

This process achieves the desired mechanical properties of strength and ductility; however, the
expensive alloy additions significantly raise the manufacturing costs. Microalloyed rebar is
typically sold with a $40 to $60 USD/ton premium over regular (non-weldable) rebar [6]. This is
the most commonly used process for producing ASTM A 706 rebar in North America.

1.3.3

Quench and Self-Tempering (QST)

Quench and self-tempering is another production method used to increase the strength of rebar
while limiting the level of carbon and carbon equivalent. In this process, immediately after the
rebar exits the final rolling stand in the mill it travels through a series of quenching devices. The
particular design of the quenching device is unique to the equipment manufacturer, but in
general, high-pressure water is applied against the surface of the bar in order to cool it. In a very
short time, this rigorous quenching reduces the surface temperature of the bar to a point where
martensite develops. After exiting the quenching area, the remaining heat from the core of the
bar conducts outwards and tempers the martensitic surface layer, which helps to increase its
ductility. Following this, the bar continues to air-cool until finally the core transforms into a
mixture of proeutectoid ferrite and pearlite. Due to the variation in microstructure over the
cross-sectional area of the bar, the resulting product can be described as having a composite
microstructure. Similar to how reinforced concrete, a composite material, obtains its final
properties by a combination and interaction of concrete and steel, quench and self-tempered
rebar achieves its beneficial qualities from the combination of the constituent properties of the
strong tempered martensite surface and ductile pearlite/ferrite core. Of the three production
methods discussed, quench and self-tempering is the most cost effective. It requires a moderate
capital investment in new equipment and increase in operating costs; however, it saves on
additional labor costs over the off-line work-hardening method and the expensive alloy additions
used by the microalloying method. Although this process improves many of the mechanical
properties of the rebar, it unfortunately has a negative effect on the strain-hardening ratio.

Of the various methods of producing weldable rebar, the quench and self-tempering process is a
predominantly unfamiliar process in North American. Some contributing factors that explain
this unfamiliarity include:
1. The greater strain-hardening ratio requirement for ASTM A 706 rebar
2. The small market size of A 706 rebar
3. The inadequate space and associated cost required to retrofit existing mills
To start, the ASTM A 706 strain-hardening ratio of 1.25 is higher than many other world rebar
standards. Section 1.4 below provides a brief description and comparison of various world
standards. Since the QST process was initially developed in Europe where there is a lower
strain-hardening ratio requirement, the typical chemical composition used does not create any
barrier for achieving this property level. Seeing as this requirement is easily met, there is little
motivation for experimenting with different compositions to try to increase it.
Secondly, it is estimated that A 706 makes up a much smaller, albeit growing portion of the rebar
market [7]. If A 706 makes up only a small portion of a manufactures total production, the
payback period required for such an investment might not justify the prioritization of such a
capital expenditure.
Finally, the ASTM A 706 standard was first published in the 1970s around the same time that the
QST process was first used in Europe. Few rebar mills being built after the introduction of QST,
means that equipment layouts were not originally designed for this technology. This creates
another hurdle for retrofitting existing mills considering the quenching line would have to be
installed between the last mill stand and the cooling bed. Without the necessary space available,
the expenditure to install this technology is greatly increased.

1.4 Overview of Rebar Standards


High-strength, low-alloy rebar is normally characterized by restricted carbon and carbon
equivalent (CE) levels, greater ductility requirements, and controlled strength ranges. Many of

the differences between rebar standards can be related to the intended purpose and region that
they were developed for, and relate mainly to the weldability and ductility properties of the steel.
Increasing the amount of carbon or other elements like manganese is a relatively cheap and easy
way to increase the strength of steel. Unfortunately, it has a negative effect on ductility and
weldability. Ductility is an important aspect in the design of earthquake resistant structures.
Also important in seismic design is the ability to accurately predict how a structure will behave
under real world conditions. This is motivation for having a tightly controlled strength range (as
opposed to requiring only a minimum level). Weldability on the other hand, is a desirable
characteristic in rebar that allows for efficient prefabrication of reinforcing structures in
workshops and durability during transportation and handling to the construction site. However,
carbon and other elements impair the ability to effectively weld steel. To ensure weldability, a
low level of carbon (< 0.3%) and CE (a weighted average of a group of elements that have a
similar effect as carbon: <0.55%) is required. A conflict between these requirements arises due
to the fact that reducing the carbon and CE levels to achieve the desired weldability and ductility
properties, also has the effect of reducing the strength of the rebar. In order to achieve all the
necessary requirements, alternative production processes such as microalloying or QST must be
used. The following sections provide a brief commentary on the variations between different
world rebar standards.
Table 1.1 Mechanical Requirements of World Rebar Standards
Tensile,
min [MPa]

Yield, min
[MPa]

Yield, max
[MPa]

UTS/y,
min

Elong. [%]

US (A 706)

550

420

540

1.25

12

Canada

625

500

625

1.15

12

Australia/NZD

575*

500

600

1.15

10

Japan

620

490

625

12

Germany

550

500

1.05

10

*Note: Minimum tensile value not explicitly stated but inferred from yield and UTS/y

Table 1.2 Chemical Requirements of World Rebar Standards


Carbon

Manganese

Phosphorus

Sulfur

Silicon

CE*

US (A 706)

0.30

1.50

0.035

0.045

0.50

0.55

Canada

0.30

1.60

0.035

0.045

0.50

0.55

Australia/NZD

0.22

0.050

0.050

0.49

Japan

0.32

1.80

0.040

0.040

0.55

0.60

Germany

0.22

0.050

0.050

0.50

*Note: Method of calculating CE differs between standards and therefore cannot be directly
compared in the above table. Refer to Appendix 10 for the list CE equations used in each
standard.

1.4.1

United States Rebar Standards

In the United States, the International Building Code (IBC) which is adapted and enacted by state
governments, references American Concrete Institutes standard ACI 318 for the construction of
structural concrete [8]. In turn, ACI 318 references ASTM standards for rebar.
There are two ASTM standards for plain carbon rebar, A 615 and A 706. Both of these
standards include similar groups of requirements such as: dimensions, chemical composition,
and mechanical properties. However, the main difference between the two is that A 706 has
controlled tensile properties (meaning both minimum and maximum values are specified) and
greater restrictions to alloy levels. The motivation behind the development of standard A 706,
including mention of the various organizations involved, is provided in the report from ACI
Committee 439 [9]. As previously mentioned the strain-hardening ratio of 1.25 required by A
706 presents a challenge in the use of the quench and tempering process.

1.4.2

Canadian Rebar Standards

The Canadian standard for carbon-steel rebar is CSA-G30.18. This standard is very similar to
the ASTM standards both in terms of organization and requirements owing to the collaboration
between the organizations. However, as it relates to the topic of quench and tempering, the
strain-hardening ratio specified in the Canadian standard is 1.15.

1.4.3

Australian/New Zealand Rebar Standards

The carbon-steel rebar standard for Australia and New Zealand is AS/NZS 4671. This standard
differs from the previous ones in that they define grades both by minimum yield strength and
ductility class. There are three ductility classes; however, the seismic class has the greatest
strain-hardening ratio requirement of 1.15.

1.4.4

Japan Rebar Standards

In Japan the standard for carbon rebar is JIS G 3112. This standard takes a different approach
from the ones discussed previously. Instead of citing a specific minimum strain-hardening ratio,
a range of yield strength is given along with a minimum tensile strength. For the purpose of this
discussion, the minimum strain-hardening ratio inferred by these ranges can be determined by
dividing the tensile strength by the maximum yield strength. Among all of the grades, the
highest maximum strain-hardening level is 1.13.

1.4.5

German/European Rebar Standards

To describe rebar requirements in Europe, two types of standards need to be included in the
discussion. The first type is the European Standard EN 10080. This standard was prepared by
the European Committee for Standardization (CEN) through mandate by the European
Commission and the European Free Trade Association. This is considered a harmonized
standard, meaning that member nations of the CEN are bound to implement these standards. It
provides a general set of specifications and definitions, however, no specific grades or bar sizes
are given. For this reason rebar cannot actually be ordered to this standard. Instead, the second
type of standard is needed, which have been developed through the member countrys
standardizing bodies, and comply with the requirements set forth in EN 10080. In Germany this
standard is DIN 488. The minimum strain-hardening ratio stated in this standard is 1.05 [10, 11].

Objectives

The objective of this work is to first, determine if AISI 1117 steel can achieve the mechanical
properties of ASTM A 706 rebar, and secondly, to develop a preliminary model which will act as
a tool in future work to optimize the composition and process. In determining the mechanical
response of AISI 1117, an operating window will be determined. The steel will be subjected to a

quenching condition, which although is not entirely practical due to quenching time for the
continuous operating setting of the rolling mill (i.e. there is a very short time available to quench
due to mill speeds), will serve to eliminate the chemical composition as the barrier for this
process.

Quench and Self-Tempering Model

The QST model incorporates two major components, heat transfer, and microstructure evolution.
Using a finite difference method, these components are coupled and solved to determine the
temperature and microstructure fields throughout a cylindrical bar. The output of the model is
the quenching and tempering temperatures, the volume percent of each phase formed, the
continuous cooling curves at the centre and surface of the bar, and the sigmoidal curve showing
the transformation rates of each microstructure at the centre and surface of the bar.

Heat
Transfer

Infinite Cylinder
One-dimensional

QST Model
Finite Difference
Method

Microstructal
Evolution

Diffusional Transformation (Ferrite,


Pearlite, Bainite)
Avrami Equation
Additivity Principle
Diffusionless Transformation
(Martensite)
Koistinen & Marburger

Figure 3.1 Overview of QST Model

3.1 Heat Transfer Problem


The type of heat transfer problem being modeled is a one-dimensional, cylindrical, transient
conduction problem. In order to reduce the complexity of the model, a cylinder is used as the
rebar analogue (i.e. ignore the affects of the rebar deformations). Furthermore, because the
cylinder, or round bar, produced by rolling is very long compared to its diameter, the effects of

heat transfer at the ends (head and tail) are ignored. And since this form of heat treatment is an
inline process, being applied continuously along the length of the symmetric bar, it is assumed
that heat conducts only in the radial direction.
(, ) = ( )
R

(, 0) =

Figure 3.2One-dimensional heat transfer in infinite cylinder


The overall behavior of the system can be expressed using the conservation of energy:
= +

Where E t is the rate of change of thermal energy being stored in the bar, E in and E out are the rate
that thermal energy is entering and leaving the bar respectively, and is the rate of thermal

energy being generated within the bar (i.e. latent heat of transformation). Initially; however, the
generation term will be neglected (incorporated in later part of model). Below is the differential
form of Fouriers Law governing the transient conduction in a one-dimensional, infinite cylinder:

Where is the density of the material, Cp is the specific heat of the material, and k is the
conductivity of the material.
Boundary Conditions:
Center:

=0

=0

The center of the bar is treated as adiabatic due to symmetry.

10

Surface:

coefficient.

= [(, ) ]

Where is the temperature of the adjacent fluid and h is the convection

Initial Conditions:
The model assumes that the initial temperature is uniform through the diameter of the bar.

3.2 Finite Difference Method


The model employs the finite difference method to solve the nondimensional version of
Fouriers Law discussed in Section 3.1. The finite difference method is a numerical method of
approximating the solution to differential equations by using simple difference expressions in
place of difference quotients. For example, the first derivative of a function may be represented
by the following expression:
( + ) ()
0

() = lim

This function can be approximated by simply selecting a value for h (step size). Of course the
step size is proportional to the magnitude of error; the smaller the step size the smaller the error.
This is the general concept behind the finite difference method. There are; however, different
variations and types of finite difference schemes that can be utilized.

For instance, there are

three common forms of finite differences: 1. forward difference, 2. backward difference, and 3.
central difference.
1.
2.
3.

Forward Difference: () = ( + ) ()

Backward Difference: () = () ( )
Central Difference:

() = + ( )
2

There are also expressions for higher order finite differences. For example the expression below
is a second-order central difference:

11

"() =

( ) 2() + ( + )
2

The solution to these methods can also be characterized as explicit or implicit. The explicit
method uses the forward difference approach to approximate the solution at the next step value
based on the adjacent current step values. On the other hand, the implicit method uses a
backward difference approach to approximate the solution at the next step value based on the
adjacent next step values. Although the implicit method is more computationally complex,
unlike the explicit method, it is unconditionally stable. The advantage of this is that the selection
of step size, both in time and space, are less of a concern in regards to acquiring a convergent
solution. This adds to the robustness of the model by ensuring that a meaningful output is
generated.

3.2.1

Discretization

The first step in applying the finite difference method is to divide the geometry of the cylinder
into small segments. For example in Figure 3.3 a cylinder is divided into segments using
concentric rings. At the centre of each segment a node represents the point for which a value
will be calculated. Since the heat transfer problem being solved is one-dimensional, the
temperature throughout the cylinder is dependent only on the radial dimension (i.e. the distance
from the centre of the bar). This means that the discretization can be simply represented by a
single node for each radial segment as shown to the right in Figure 3.3. The thickness of each
segment, r, is the same throughout the cylinder with the exception of the surface and centre
segments. These areas require special consideration. Because heat transfer between the cylinder
and surrounding fluid occurs at the surface, to more accurately determine the thermal conditions
in this region of the cylinder, this node is assigned a thickness half of that of the interior nodes
(r/2). Also, since there is a boundary condition at the centre of the cylinder, a node is required
at that point. And because the centre is symmetric, using a thickness of r/2 will actually result
in a central nodal segment equal to r.

12

CENTRE

SURFACE

r/2

NODES

r/2

Figure 3.3 Discretization of Cylinder

3.2.2

Implicit Form of Finite Difference Equations

Using a backward difference approximation for the time derivative and a second-order central
difference approximation for the space derivative, the implicit form of the finite difference
equations for the heat problem are:
Surface Node:
Internal Node:
Central Node:

(1 + 2 + 2)0+1 21+1 = 2 + 0
+1

+1

1 + (1 + 2)+1 +1 =
+1

+1

2 1 + (1 + 2)

Where the superscript (p) over temperature represents a time reference, and the subscript (i) after
temperature is in reference to the node. For example, p+1, indicates the temperature one time
step ahead of the current, and i+1 indicates one node towards the centre. It should also be
noted that the surface node has i=0 and the central node has i=Nr, where Nr represents the
number of nodes used in the model.
Also, Fo is known as the Fourier number:
And Bi is known as the Biot number:

=
=

13

The Fourier number is a dimensionless form of time. Conceptually, it represents the relationship
between the rate of conduction to the rate of thermal energy storage. A Fourier number of 0
would indicate that no thermal energy is being conducted versus a value of 1 which would
indicate the change in thermal energy stored is entirely due to conduction. The Biot number is a
dimensionless number that represents the ratio of heat transfer resistance at the surface (h) versus
within the bar (k). A Biot number much greater than 1 indicates that the temperature field will
vary significantly throughout the bar.

3.2.3

Tridiagonal Matrix

As can be seen in the implicit form of the finite difference equations, the new (in terms of time
step) temperature of a given node is dependent on the new temperature of the adjacent nodes.
However, since these new temperatures are unknown the system of equations must be solved
simultaneously. To accomplish this, matrix inversion is used. The following represents the
matrix form of the system of finite difference equations:
+1

(1 + 2 + 2)
0

1+1

=
0

+1
0
1
0
+1

2
(1 + 2)

0
0

0
0

1 (2 ) +

0
0


1
0

(1 + 2)

3.3 Microstructure Evolution


Early development of computational models to couple heat transfer with microstructure
evolution focused primarily on eutectoid carbon steel [12-17]. The absence of ferrite formation
with this composition of steel reduced the complexity of the model so that only the
transformation of austenite to pearlite or martensite was of concern. These two phases, pearlite
and martensite, represent two significantly different forms of transformation which are often
classified as diffusional and diffusionless respectively.

14

3.3.1

Diffusional Transformation

Diffusional transformation refers to phase transformations that are characterized by the diffusion
of carbon and are thus dependent on both temperature and time. This type of transformation
includes the decomposition of austenite into; ferrite, pearlite, and bainite, depending on the
chemical composition and rate of cooling. From the models previously mentioned, it has been
well established that the relation proposed by Johnson and Mehl, and Avrami to describe
isothermal transformations can be combined with the additivity principle proposed by Scheil to
apply isothermal data to predict continuous cooling conditions [18-22]. In the sections to follow,
these components of diffusional transformation modeling are described in further detail.

3.3.1.1

Avrami Equation

An Avrami type equation, shown below, which is also commonly referred to as the JohnsonMehl-Avrami (JMA) or Johnson-Mehl-Avrami-Kolmogorov (JMAK) equation, is often used to
describe the S-shaped or sigmoidal form of a phase transformation-time curve.
= 1 exp
( )

Equation 3.1 Avrami Phase Transformation


Here Vi is the volume fraction of the new phase formed after time t. The coefficient B is a
kinetic parameter which includes nucleation and growth rates, and the coefficient k is related to
the geometry of the growing phase (i.e. polyhedral, plate-like, or lineal). Below is an illustration
of a typical phase transformation-time curve.

15

1
0.9

Volume Fraction

0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0.01

0.1

10

100

Time (sec)

Figure 3.4: Example of Sigmoidal Form of Phase Transformation


The Avrami equation; however, cannot be directly applied for modeling microstructure evolution
of a continuous cooling processes since it is based on isothermal conditions. In order to
overcome this problem, a method used to approximate a continuous cooling curve, as described
in an early model by Agarwal and Brimacombe, is to divide the curve into many small
isothermal steps [12]. Then at successive steps after transformation has begun, the Avrami
equation can be employed to calculate the incremental formation of the new phase. The figure
below illustrates the approximation of the cooling curve using a series of isothermal time steps.

Temperature

TTT curve

Cooling curve
Time

Figure 3.5 Approximating a Cooling Curve Using Isothermal Steps

16

3.3.1.2

Additivity Principle

An important distinction should first be made between possible applications of the additivity
principle. In the example discussed later, the additivity principle is applied to the transformation
process (i.e. after transformation has begun). However, another possible application, as
proposed originally by Scheil, is that an additivity principle can be used to describe the
incubation period and to predict the start of transformation of a continuous cooling process using
isothermal data. This is achieved by dividing each time step of the cooling curve with the
associated start time of transformation (obtained from a TTT curve) in order to calculate the
proportion of the incubation period consumed (called the fractional nucleation time). Then,
when the sum of these proportions is equal to unity the incubation period is complete. This can
be expressed as:

=1

Equation 3.2 Condition for Start of Transformation


Where t is the time step and s is the transformation start time at a given temperature. Although
the additivity principle has been employed in numerous models to predict the start of
transformation [7, 23], in their study of the decomposition of austenite to pearlite of a eutectoid,
plain carbon steel, Hawbolt et al showed that the additivity principle lead to an over estimation
of the incubation time [14]. On the other hand, the study showed that the transformation stage
was accurately described by the additivity principle. However, because it is time consuming and
expensive to experimentally determine the start of transformation for a continuous cooling
process, and since isothermal data is readily available in the literature for a variety of chemical
compositions [24], the error associated with using the Scheil additivity principle for estimating
the incubation period is seen as an acceptable compromise for this model.
Using the additivity principle to describe the transformation process requires that the
transformation be a function of the temperature and the amount of transformation product
already present [25].
= (, )

17

The figure below is helpful for illustrating the additivity principle. For the first time step, the
phase transformation follows the T1 transformation-time curve and so the percent of phase
transformed is easily calculated using the Avrami equation. However, for the next time step,
starting at t1, there is a decrease in temperature to T2. At this new temperature, the
transformation will continue with the new phase forming at a rate according to the T2 curve.
However, some consideration must be made regarding the time value used in the application of
the Avrami equation for T2. The starting point on the T2 curve must correspond to the volume
percent of phase already transformed during the first time step. However, if the second time step
were to start at the end of the first time step, t1, then the starting volume percent of phase
transformed would be incorrect (i.e. it would correspond to the intersection of t1 and T2). To
properly account for this a fictitious time, t2, must be calculated which corresponds to the
volume percent of phase transformed at the end of the first time step but relating to the T2 curve.
Continuing in a similar manner, the total phase transformation can therefore be described by
combining the segments of the transformation-time curves.

Volume Fraction

The rate of transformation


changes with temperature

Segments showing amount of phase


transformed in each time step

Time

Figure 3.6 Combining Transformation-Time Curve Segments: Additivity Rule


In their assessment of the additivity principle for predicting the kinetics of austenite to pearlite
decomposition in eutectoid, plain carbon steel, Kuban et al were able to justify the additivity
condition shown above [25]. Furthermore, their experiments showed that the condition for
applying the additivity principle as proposed by Avrami and later by Cahn did not hold [19-21,
26]. Kuban et al instead suggested an effective site saturation criterion to explain the success

18

of the additivity principle in the use of predicting continuous-cooling kinetics, which states that
the later growth of the early nuclei dominates the transformation event. This assessment of the
additivity principle was later expanded by Kamat et al to include proeutectoid, plain carbon steel
[27].

3.3.1.3

Solving for the coefficients of the Avrami equation

In the studies of transformation kinetics previously mentioned, the coefficients of the Avrami
equation were found experimentally [12, 14]. However, as discussed before, this process is very
time consuming. To allow the model to be easily expanded for various chemical compositions,
an alternative method of solving these coefficients using isothermal data has been used [17, 23,
28, 29].
The transformation start and finish curves on a TTT diagram represent some volume fraction
close to 0 and 1 respectively of the new phase being formed. For instance, a typical start curve
may represent the point when the volume fraction of the new phase formed is 0.005 and a finish
curve may represent the point when the volume fraction of the new phase is 0.995. Using these
start and finish volume fraction values along with the corresponding start and finish times, two
expressions of the Avrami equation, as shown below, can be written for any particular
temperature [29].
= 1 exp
(() () ) = 0.005

= 1 exp
(() () ) = 0.995

Where Vs is the volume fraction represented by the start of transformation curve, s is the time
corresponding to the start of transformation, and Vf and f are similarly representative of the
finish transformation curve. Thus for a given temperature, T, there are two equations and two
unknown material parameters, B(T) and k(T). Using these equations, an expression for the
material parameters can be written as:

19

() =

ln

ln
(1 )

ln
(1 )

ln

Equation 3.3
() =

ln
(1 )
()

Equation 3.4

The final component required to use the Avrami equation for a continuous cooling process is an
appropriate expression for time. Recall that in the Avrami equation, the time variable represents
the time required from the beginning of transformation at a particular temperature (i.e
isothermal) to form a certain volume fraction of new phase. However, since the additivity
principle is employed to allow the continuous cooling curve to be estimated by a series of small
isothermal steps, the time to be used must account for the change in transformation rate. As
illustrated in the description of the additivity principle, at a new temperature (or say the next time
step), the rate of transformation changes but starts at the point corresponding to the volume
fraction already formed. In other words, to calculate the total volume fraction of new phase
formed after the current time step the time value used in the Avrami equation is equal to the
actual time step, tj, plus a fictious time, tj, that represents the volume fraction of phase formed
at the end of the previous time step but at the current transformation rate (i.e. according to the
current temperature). The expression is shown below:
= +
Equation 3.5

Where tj is derived from the Avrami equation for the volume fraction present at the previous
time step, Vj-1, but with material parameters at the current temperature:
1 = 1 exp
(()
Equation 3.6

()

20

Therefore Equation 3.5 can be written as:


1

()
1
)
ln
(
1 1
= +

()

Equation 3.7
Therefore obtaining the unknowns, s,f, and T from the TTT and continuous cooling curves at
the current isothermal time step, and subbing into Equation 3.3, Equation 3.4, and Equation 3.5
to find the material parameters, the volume percent formed at the end of the current time step can
be found using Equation 3.8 below.
(() () )
= 1 exp
Equation 3.8

3.3.2

Diffusionless Transformation:

The formation of martensite is called a diffusionless transformation since its rapid cooling from
austenite prevents the diffusion of carbon from taking place. Instead, the FCC austenite
undergoes a polymorphic transformation to a body-centred tetragonal (BCT) martensite. This
transformation process is therefore dependent only on temperature as opposed to time.

3.3.2.1

Koistinen and Marburger Equation

In many continuous cooling models involving diffusionless transformation, [16, 17, 23, 28-30],
the empirical relation developed by Koistinen and Marburger, shown below, has been used to
calculate the volume fraction of martensite formed [31].
= {1 exp[( )]}(1 )
Equation 3.9

21

Here, VM, is the volume fraction of martensite formed, is a constant equal to 1.10x10-2, Ms is
the martensite start temperature, and (1-Vi) is the austenite that has not been transformed into
some other phase and hence is available to form martensite.

Computer Model

A model was created using MATLAB to couple temperature and microstructure evolution. The
first attempt focused on eutectoid, plain carbon steel for its abundance of data available in
literature and relative simplicity due to the absence of proeutectoid ferrite formation. This model
served to verify the programming and use of the fundamental principles discussed above and
acted as the basis for development of more complex systems. Later development included the
addition of different, non-eutectoid, steel compositions. Figure 4.1 below shows the graphical
user interface for the computer program. The computer code for the main model function along
with all sub functions can be found in Appendix 4 to 9.

Figure 4.1 QST Computer Model GUI

22

4.1

Model Overview

The operation of the model is briefly described here followed by a flow chart which provides a
general overview of the program. Individual components are described in greater detail in later
sections.
1. Input parameters are entered
2. The temperature field along the radius of the bar is calculated
3. The amount of new phase formed based on the temperature field is found
4. Latent heat generated from phase transformation is determined
5. The temperature change due to the latent heat generated is added to the temperature field
and the amount of new phase formed is recalculated
6. The time step is incremented and steps 2 through 5 are repeated
7. The program ends when the user defined cooling time has been reached

1.
Input parameters

2.
Calculate
temperature field

3.
Calculate the
volume % of new
phase formed

4.
Calculate latent
heat generated

Change in
temp below
min criteria

No

Yes

6.
Increment time
step

Defined time
reached?

Yes

7.
End Program

No

5.
Add increase in
temperature to
temperature field

Figure 4.2 High-Level Flow Diagram of Computer Model

4.2

Input Parameters

The table below lists the input parameters of the model, organized by user and program defined
parameters, as well as by parameter type. In addition to the input parameters listed here, various
characteristics of the program can also be defined based on user selection. This group of
characteristics allows the user to customize the output of the program and to define what type of

23

analysis to perform; however, since the fundamental behavior of the model is not affected they
are not included here.
Table 4.1 Computer Model Input Parameters

General Parameters

Model Parameters

User Defined
Bar diameter
Initial bar temperature
Water temperature
Air temperature
Quenching time
Air cooling time
Heat transfer coefficient (water)
Heat transfer coefficient (air)
Number of nodes
Time step

Material Properties (steal)

Isothermal Data (from TTT)

4.2.1

Internal to Program

Density
Specific heat
Conductivity
Thermal diffusivity
Pearlite start time
Pearlite finish time
Martensite start time

General Parameters

The general parameters allow the user to define the overall process to be analyzed. Depending
on the user selected attributes of the analysis, as mentioned previously, some of the general
parameters may not be required. For example, if the user does not select the air cool option then
air temperature, air cooling time, and heat transfer coefficient (air) are not required.

4.2.2

Model Parameters

The model parameters allow the critical attributes of the finite difference method including,
number of nodes and size of time step, to be varied in order to determine their affect on the
results. As will be shown later, this allows convergence tests to be performed.

4.2.3

Material Parameters

Although accuracy is somewhat reduced over a large temperature range, the model was
simplified by assuming the material properties such as steal density and specific heat were
constant. Since the overall behavior of the model could still be demonstrated effectively this

24

way, incorporating variable material properties was seen mostly as an exercise in programming
and so was left for future work.

4.2.4

Isothermal Data

To enter the material properties, a published TTT figure for 1080, eutectoid steel was converted
to a series of coordinates using a publically available MATLAB m-file. Using a scan of the TTT
figure, once the axes had been defined, coordinates were generated by manually selecting a
series of points along the desired curve. In this manner the pearlite start curve, pearlite finish
curve, and martensite start temperature were entered into the model.

4.3

Temperature Field

As mentioned in the finite difference method and heat transfer sections, the temperature at each
node along the radius of the bar is calculated simultaneously (implicit method). Therefore the
temperature field is expressed in the form of a vector. Along with the assumption that the
temperature is initially constant throughout the bar, the expression for the temperature field is
shown below:
= []1 []

The tridiagonal matrix, [Tri], is assembled and consists only of the grid Fourier (Fo) and grid
Biot (Bi) numbers which are calculated directly from the input parameters.
=

1 + 2 + 2

2
1 + 2

1 + 20
2


1 + 2

The matrix, [C], is simply the previous or initial temperature field with an expression added to
the first term, or surface node, resulting from the convection between the steel and the water.

25

+ 2
+1
=

The following section of code illustrates how the model calculates the temperature field. The
first section assembles the tridiagonal matrix. This is followed by the initialization of the [C]
vector. Finally a loop is used to calculate the temperature field after each time step. It should be
noted that there is additional code within the loop for other functions (i.e. to calculate phase
formation), however, it has been removed to simplify this explanation.
% Z matrix is the subdiagonal coefficients of the
tridiagonal matrix
E=sparse(2:Nr,1:Nr-1,ones(1,Nr-1),Nr,Nr);
Z=E*-Fo;
Z(Nr,Nr-1)=(-2*Fo);

The
tridiagonal
matrix is
formed

% Y matrix is the diagonal coefficients of the tridiagonal


matrix
G=ones(1,Nr);
X=G*(1+(2*Fo));
X(1,1)=(1+(2*Fo)+(2*Fo*Bi));
Y=sparse(1:Nr,1:Nr,X,Nr,Nr);
% U matrix is the superdiagonal coefficients of the
tridiagonal matrix
W=sparse(1:Nr-1,2:Nr,ones(1,Nr-1),Nr,Nr);
U=W*(-Fo);
U(1,2)=(-2*Fo);
% N matrix is the assembled tridiagonal coefficient matrix
M=Z+Y+U;
N=full(M);
% The following initializes the TempField vector with the
initial bar temp for each node
A=ones(1,Nr)*InitialBarTemp;
TempField=A';
% The vector C is created which incorporates the effects of
convection at the surface node of the bar
B=[(2*Fo*Bi*WaterTemp),zeros(1,Nr-1)];
C=TempField+B';
% The loop is used to calculate the temperature field at
each time step. The number of steps is determined by

26

dividing the user inputed quench time divided by the size


of time step. For example if quench time is 10 seconds and
the time step is 0.1 seconds, than the number of time steps
is 10/0.1 = 100. In that example the loop will iterate 100
times.
% The order in which these two lines of code appear in the
loop is critical. Since the initial temperature field has
been calculated above, outside the loop, in the first time
step the [C] matrix is calculated and then the new
temperature field is found. This temperature field
(TempField) is then the input for [C] on the next
iteration.
for k=1:(QuenchTime/DeltaT)
.
.
.
C=TempField+B';
TempField=N\C;

.
.
.
end

4.4

Phase Formation

Once the initial temperature field has been calculated the next step is to determine the volume
fraction of new phase formed at each node. It should be noted that an assumption of the model is
that initially the entire materiel consists of austenite. As described previously in the section on
diffusional transformation, new phase does not begin to form until the incubation period is
complete. Scheils additivity principle is applied using isothermal data obtained from the TTT
diagram to predict the end of the incubation period (i.e. the start of the continuous cooling,
transformation time). With the Scheil condition satisfied, the Avrami equation is then used to
determine the amount of phase formed.

4.4.1

Applying Scheils Additivity Principle

In order to incorporate this principle in the model, the fractional nucleation time (FNT = ( ))

must be calculated at each time step and then added with the values of all previous time steps to

27

determine if the condition in Equation 3.2 has been met for the start of transformation. To
accomplish this, two vectors are used. The first vector holds the values of the FNTs for each
node for the current time step. The second vector, Scheil vector, is created to keep a running
sum of the FNTs for each node. The Scheil vector is initialized as a series of zeros, but at each
time step, once the FNTs are calculated they are added to the Scheil vector.
To calculate the FNT, the isothermal start time, s, needs to be interpolated from the TTT data.
Since the isothermal start time is dependent on temperature, the temperature field is provided as
an input to a function which applies linear interpolation to return the corresponding
transformation start times. The FNT can then be calculated for each node by dividing the time
step by the transformation start times. The code used in the computer model is shown below.
for k=1:(QuenchTime/DeltaT)
% The vector D calculates the fractional nucleation time for each
time step by dividing the time step by the transformation start
time for the given temperature (TempField). The transformation
start time is interpolated from the TTT data (Temp & LogTime)
D=bsxfun(@rdivide,DeltaT,(interp1(Temp,LogTime,TempField)));
% For some nodes that fall outside the TTT data (i.e. do not have
a transformation start time) the result of the above is NaN.
These entries are replaced with zeros
RepNaN=isnan(D);
D(RepNaN)=0;
% The Scheils vector takes a running total of the FNTs (i.e. sums
all previous FNTs)
Scheils=Scheils+D;
% To eliminate rounding error a loop is used to set any nodes
(1:Nr) that have a Scheils value greater than 1 to 1 (i.e. in
reality there should never be a Scheils value greater than one).
This makes later calculations easier since only a single value of
Schiels is considered (i.e. Scheils=1).
for j=1:Nr
if Scheils(j)>=1
Scheils(j)=1;
else
Scheils(j)=Scheils(j);
end
end
end

28

In the above expression, the interp1 function takes the TempField vector and interpolates the
transformation start times using the TTT data points; Temp and LogTime. Note that since
TempField is a vector of dimension Nr (number of nodes), the result of performing interp1 is
also a vector of the same dimension. The bsxfun function is used to apply an entry-by-entry
manipulation of the interp1 vector. In this case it is dividing the time step, DeltaT, by each entry
of the interp1 vector. The result is a vector, FNT, with values calculated for each node.

4.4.2

Applying the Avrami Equation: The Growth Function

At each time step a growth function is applied to calculate the volume fraction of new phase
formed at each node. However, there are a number of conditions incorporated into this function
that must be met on a node-by-node basis before the volume fraction formed is determined.
These conditions are listed below:
1. The Scheil condition must be equal to or greater than unity

As described before, this is the critical condition that indicates that phase formation can take
place

2. The temperature of the node must be greater than the martensite start temperature

This condition ensures that the function is not applied below the martensite start temperature

martensite formation (diffusionless transformation) requires a different function

3. The temperature of the node must be less than or equal to the Ac1 temperature

This condition is used to avoid errors from developing due to irregularities outside the
temperature range of the TTT data

4. The transformation start temperature at the node must be less than or equal to the elapsed time

This is to avoid errors from occurring when the cooling curve has dropped below the nose
of the TTT curve

Assuming that all of these conditions have been met, it is straightforward to solve the variables
of the Avrami equation (B(T), k(T), and tj) and then the resulting volume fraction of new phase
formed.

29

The growth function begins by using the temperature field to interpolate the transformation start
and finish time for each node. This results in the creation of a transformation start and finish
time vector (ts and tf). Next, using a loop, the function constructs a growth vector (Fp) one node
at a time. It does this by calculating the material parameters based on the temperature and
isothermal data of each node (B(T) and k(T)), and then the transformation time followed by the
volume fraction using the Avrami equation. The iteration of the loop calculates the volume
fraction of successive nodes resulting in the final assembly of the growth vector. With each time
step, a new temperature field is passed to the growth function to determine the corresponding
phase formation. Below is the main part of code used to calculate the pearlite transformation.

function [ Fp,ts,ElapsedTime ] = PearliteGrowth2(


Temp,LogTime,TempField,Temp1,LogTime1,DeltaT,k,Nr,Ms,Scheils,Fp,SteelTy
pe_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper,Pearli
teStartTempLower,PearliteStartTimeLower )
%This function calculates the % of Pearlite transformation at each node
if SteelType_PopupmenuStatus==1 || SteelType_PopupmenuStatus==2
%The transformation start and finish times are interpolated from
the TTT data for the current temperature field
ts=interp1(Temp,LogTime,TempField);
tf=interp1(Temp1,LogTime1,TempField);
%The MaxTTTtemp is interpolated from the TTT data and used as a
condition in the following loop so that only values in the
temperature field vector (TempField) that have a valid start and
finish transformation temp will be used
MaxTTTtemp=min(max(Temp),max(Temp1));
%The elapsed time is another condition used in the following loop
to ensure that only the portion of the cooling curve that has
intersected the transformation start time are used
ElapsedTime=DeltaT*k;
%The loop functions to solve the Avrami equation for each node
(j=1:Nr) and then to assemble the values into a vector (Fp(j))
for j=1:Nr
%The if statement incorporates the four conditions that
were described above
if ((TempField(j)>Ms) && (TempField(j)<=MaxTTTtemp) &&
(Scheils(j)>=1) && (ts(j)<=ElapsedTime))
%If all the conditions are meet, the Avrami equation
is solved. The order of the expressions is important
since each successive expression incorporates the
ones from before

30

B=(reallog(reallog(0.995)/reallog(0.005)))/(reallog(t
s(j)/tf(j)));
A=(-reallog(0.995))*((ts(j))^(-B));
tj=DeltaT+((reallog(1/(1-Fp(j)))/A)^(1/B));
Fp(j)=1-exp(-A*tj^B);
else
%If the conditions are not met for a given node the
amount transformed is the same as the previous amount
Fp(j)=Fp(j);
end
end
end

4.4.3

Incorporating Transformation of Multiple Phases

For non-eutectoid steels, multiple growth functions are used. However, as austenite is
transformed into some phase, the austenite available for future transformation is reduced. This
reduction in available austenite must be accounted for in order to calculate the proper amount of
phase being formed. The following code illustrates how the computer model incorporates this
consumption of austenite and how it affects the amount of subsequent phase that can be
transformed.

for k=1:(QuenchTime/DeltaT)
.
.
.
%The ferrite growth function is first applied.
[Ff]=FerriteGrowth(FerriteStartTemp,FerriteStartTime,TempField,Pe
arliteStartTemp,PearliteStartTime,DeltaT,k,Nr,MartensiteStartTemp
,Scheils,Carbon,Ff,SteelType_PopupmenuStatus,PearliteStartTempUpp
er,PearliteStartTimeUpper);
Xf=bsxfun(@times,FerriteMax(TempField,Carbon,Nr),Ff);
%The pearlite growth function is then applied.
[Fm]=PearliteGrowth2(PearliteStartTemp,PearliteStartTime,TempFiel
d,PearliteFinishTemp,PearliteFinishTime,DeltaT,k,Nr,MartensiteSta
rtTemp,Scheils,Fm,SteelType_PopupmenuStatus,PearliteStartTempUppe
r,PearliteStartTimeUpper,PearliteStartTempLower,PearliteStartTime
Lower);
%The amount of pearlite that can form is dependent on how much
austenite is available and therefore, depends on how much ferrite
has been formed. The pearlite found in the function above is

31

multiplied by the amount of austenite left after being


transformed to ferrite (1-Xf)
Xm=bsxfun(@times,(1-Xf),Fm);
%The martensite growth function is applied next.
[FM]=MartForm(Nr,TempField,Xm,FM,MartensiteStartTemp,Xf);
%The remaining austenite available after ferrite, pearlite and
martensite transformation is then calculated so that it can be
used as an output for the model
Xa=1-Xf-Xm-FM;
.
.
.
end

4.5 Latent Heat Generation


When phase formation occurs, latent heat is generated. As previously mention in the description
of the conservation of energy and the heat transfer problem, this generation term was initially
neglected. However, once the temperature field and corresponding phase transformation is
found, this information can be used to determine the amount of heat generated at each time step.
The following provides details of the code used in the computer model to incorporate this latent
heat generation.

for k=1:(QuenchTime/DeltaT)
%Place holders are created to keep a running total of the phase
formed before the current time step. This will be used to
determine the delta (change in) phase formed for the current time
step.
Xfprev=Xf;
Xmprev=Xm;
FMprev=FM;

%The following calculates the change in enthalpy related to


formation of ferrite.
DeltaHf=(1.082*10^2)-(0.162*(TempField+273))+((1.118*10^4)*(bsxfun(@power,(TempField+273),2)))-((3*10^8)*(bsxfun(@power,(TempField+273),3)))(bsxfun(@rdivide,3.501*10^4,(TempField+273)));
%The following calculates the change in enthalpy related to
formation of pearlite.
DeltaHp=(1.56*10^9)-((1.5*10^6)*TempField);

32

%The delta for each phase is determined so that it can be


incorporated with the change in enthalpy in following equations.
[DeltaXf,DeltaXm,DeltaFM]=DeltaPhase(Nr,Xf,Xfprev,Xm,Xmprev,FM,FM
prev);
%Using the change in enthalpy and the delta phase formed, the
change in temperature due to latent heat generation is calculated
for each phase.
%Change in temperature due to latent heat generated from ferrite
formation.
DHFf=bsxfun(@times,DeltaHf,DeltaXf);
Qdotf=bsxfun(@rdivide,DHFf,DeltaT);
TempQf=bsxfun(@rdivide,Qdotf,(density*Cp))*DeltaT;
%Change in temperature due to latent heat generated from pearlite
formation.
DHFm=bsxfun(@times,DeltaHp,DeltaXm);
Qdotm=bsxfun(@rdivide,DHFm,DeltaT);
TempQm=bsxfun(@rdivide,Qdotm,(density*Cp))*DeltaT;
%Change in temperature due to latent heat generated from
martensite formation.
DHFmM=DeltaFM*DeltaHM;
QdotM=bsxfun(@rdivide,DHFmM,DeltaT);
TempQM=bsxfun(@rdivide,QdotM,(density*Cp))*DeltaT;
%A new temperature field is calculated which adds the change in
temperature due to the latent heat generated from the formation
of each phase.
TempField=TempField+TempQf+TempQm+TempQM;
end

Materials and Experimental Procedure

5.1 Materials
The material studied in this research is AISI 1117 steel. The SAE/AISI 11xx series of steel is
classified as resulfurized steel because it can contain between 0.08% to 0.33% sulfur. The
intention of the added sulfur is to form excess manganese sulfide (MnS) inclusions which
enhance the machinability of the steel. The higher manganese content of AISI 1117 compared to
the 10xx series is also desirable in that it increases the strength of the steel due to solid solution
strengthening. This is beneficial when carbon levels must be kept low in order to achieve the
desired weldability requirement.

33

The AISI 1117 steel used in these experiments was supplied as cold rolled bars from the
Taubensee Steel & Wire Company. Two diameters of bar stock were supplied, 3/8 inch and 1
inch, with the chemical compositions (weight percentage) provided in Table 5.1 and Table 5.2
respectively. Note that the test reports are also included in Appendix 1 and 2 for reference. One
bar of each diameter was supplied and then divided into smaller pieces to produce all required
samples for this research. In other words, chemical compositions described below are
characteristic of all samples used in this work.
Table 5.1 Chemical Composition of 3/8" Dia. AISI 1117
C

Mn

Si

Ni

Cr

Mo

Al

Cu

0.160

1.100

0.007

0.100

0.180

0.040

0.070

0.010

0.003

0.120

Nb

0.001 0.001

Table 5.2 Chemical Composition of 1" Dia. AISI 1117


C

Mn

Si

Ni

Cr

Mo

Al

Cu

0.160

1.100

0.011

0.113

0.220

0.040

0.050

0.010

0.002

0.090

Nb

0.001 0.001

5.2 AISI 1117, ASTM A 706, and Microalloyed Comparison


AISI 1117 was selected as the topic of this research due to the fact that it satisfies the major
chemical requirements of ASTM A 706 grade rebar but also provides unique mechanical
properties as compared to typical microalloyed rebar compositions currently used in North
America. Table 5.3 provides a comparison between these three compositions. Note that the
elements provided in the table represent all requirements defined in ASTM A 706 with the
exception of Vanadium and Niobium. These elements are provided here because they are critical
additions for the microalloyed composition.

34

Table 5.3 AISI 1117, ASTM A 706, Microalloyed Chemical Composition Comparison
C

Mn

Si

Nb

AISI 1117
(3/8 sample)

0.16

1.10

0.007

0.100

0.18

0.001

0.001

ASTM A 706
(maximums)

0.30

1.50

0.035

0.045

0.50

N/A

N/A

Microalloyed

0.27

1.17

0.012

0.026

0.30

0.020

0.030

The microalloyed composition provided in the table above represents an average from various
mill test reports collected from various steel producers in the United States. It should be
emphasized that the weight percentage of vanadium and niobium are averages and that typically
only one will represent the majority of the microalloying addition.

5.3 Microstructure Characterization: Optical Microscopy


Microstructures were examined under an optical microscope. Micrographs were captured with a
digital camera connected to the microscope. The following describes the process used for
sample preparation.
Bar samples were cut using a hacksaw and by stopping intermittently to cool the cut surface with
water to avoid significant temperature gain. The samples were than cold mounted in epoxy to
avoid inducing microstructure changes. Following mounting, the samples were mechanically
ground starting with 120 grit sandpaper and continuing with progressively finer grits (240, 400,
600, 800, and 1200). After using the 1200 grit sandpaper the samples were then polished using
rotating polishing clothes along with a1 m alumina slurry. Finally, the samples were etched
using a 4% Nital solution. The grain size of the samples was determined using an intercept
approach. Several lines of different orientations were drawn over the optical micrographs. The
line length was then divided by the number of grains intercepted by the line to find the average
grain size.

35

The microstructure of the as received 3/8 inch bar stock is show in Figure 5.2 and Figure 5.3. It
consists of a Proeutectoid Ferrite (light regions) and Pearlite (dark regions) mixture.

Figure 5.1 As received AISI 1117 perpendicular to rolling direction

Figure 5.2 As received AISI 1117 parallel to rolling direction

36

5.4 Mechanical Property Characterization


5.4.1

Microhardness

A Shimazu microhardness tester was used to measure the Vickers hardness of the samples. The
sample surfaces were ground using a similar method described in the micrograph preparation up
to the 1200 grit sandpaper. Measurements were taken using a load of 2.942 N applied for 10
seconds. The micrometers (both X and Y axis) attached to the sample table of the tester were
used to determine the centre of the samples and to increment the sample between readings. In
this way measurements were taken at equal increments along the radius of the sample. In
addition, as illustrated in Figure 5.5, measurements along two radii 90 degrees apart were taken
and then averaged.

b3
b2
b1
C

a1

a2

a3

Centre

Pos. 1

Pos. 2

Pos.3

1 + 1
2

2 + 2
2

3 + 3
2

Figure 5.3 Microhardness measurement arrangement

5.4.2

Tensile Testing

Tensile specimens were machined to have a shape shown in Figure 5.6. Two versions were
produced: one for the 3/8 inch bar stock and the other for the 1 inch bar stock. The 3/8 inch
samples were machined to have a gauge diameter of 0.25 inches. The 1 inch samples were
reduced to a nominal diameter of 0.50 inches with a gauge diameter of 0.375 inches. Table 5.4

37

provides the dimensions of these two sample sizes. All samples were 6 inches in length with
smooth, cylindrical ends.
Table 5.4 Tensile specimen dimensions
A

3/8 Bar Stock

1.000 0.005

0.250 0.005

3/16

1 Bar Stock

1.500 0.005

0.375 0.005

3/8

Figure 5.4 Tensile specimen


All tensile tests were performed at room temperature on a 100 KN MTS (Material Testing
System model 630) testing machine with the load axis parallel to the longitudinal axis of the
bar.

38

Figure 5.5 Tensile Test Machine and Extensometer


A load cell measured the force and an extensometer, attached to the specimen, measured the
strain during testing. The measured values were captured by a data acquisition program on a
computer. This data was then exported to a spreadsheet to generate the engineering stress-strain
curves and used to determine the 0.2% yield stress, UTS, and elongation to failure of the
specimens.

5.5 Heat Treating


For the quenching experiments all samples were heated in a Lindberg Tube Furnace. While in
the furnace, samples were placed on a bed of steel turnings (1045) to reduce decarburization
affects. Cold, clean tap water was used as the quenchant in all experiments. Table 5.5 to Table
5.9 that follows provides the details of the heat treatment process used in each experiment. Two
general groups of experiments were performed; the first to produce samples for hardness testing,
and the second to produce samples for tensile testing. The samples for the tensile tests were
longer than those for the hardness tests (6 inches compared to 3 inches). Although all samples
were austenized at 900C, the 1 inch diameter bars were held at this temperature for 45 minutes
and the 3/8 inch samples were held for 20 minutes. It is also important to note that during

39

Experiments 2 to 4, the still water in the tank was not changed between successive samples being
quenched. This practice was changed for Experiment 5 so that a separate tank was used for each
sample (each tank having the same quantity and temperature of water). The reasoning for this
change in procedure will be discussed further in the following results section. Finally, one other
critical difference to be noted is regarding the two versions of the tensile test specimens. All 3/8
inch bar stock samples were machined after being quenched (to 1/4 inch gauge diameter). In
contrast, the 1 inch diameter bar stock samples that were machined to a nominal diameter of 1/2
inch with a gauge diameter of 3/8 inch was done so before being quenched. Regarding the
sample IDs, in experiments 1 to 4, the Q indicates that the sample has been quenched and the
A indicates the sample was air cooled. In experiments 4 and 5, the number before the decimal
refers to the quenching time and the M indicates that the samples were machined prior to heat
treatment.

Table 5.5 Experiment 1 heat treatment details

Experiment 1: 1 Dia. Samples for Hardness Tests


Samples Inserted

Furnace

Time @ Temp

Quenching

Temp (C)

(min)

Time (sec)

Q1

900

45

Full (5mins)

Q2

900

45

Full (5mins)

A1

900

45

0 (air cooled)

Sample ID

Notes:

Before Furnace
Turned On (Y/N)

- All three samples were placed in furnace together


- Samples quenched in container (2L) with water from tap flowing in
- Q in sample ID refers to quench and A refers to air cooled

40

Table 5.6 Experiment 2 heat treatment details

Experiment 2: 3/8 Dia. Samples for Hardness Tests


Samples Inserted

Furnace

Time @ Temp

Quenching

Temp (C)

(min)

Time (sec)

Q3

900

20

Full (5mins)

Q4

900

20

Full (5mins)

Q5

900

20

A2

900

20

0 (air cooled)

Sample ID

Notes:

Before Furnace
Turned On (Y/N)

- All four samples were placed in furnace together


- Samples quenched in tank (25L) with still water
- Q3 and Q4 were placed in separate tanks but Q5 was quenched in same
tank as Q4 (without changing water)
- Q in sample ID refers to quench and A refers to air cooled

Table 5.7 Experiment 3 heat treatment details

Experiment 3: 3/8 Dia. Samples for Hardness Tests


Samples Inserted

Furnace

Time @ Temp

Quenching

Temp (C)

(min)

Time (sec)

Q6

900

20

30

Q7

900

20

15

Sample ID

Notes:

Before Furnace
Turned On (Y/N)

- Samples placed in furnace together


- Samples quenched in tank (25L) with still water
- Q7 was quenched immediately after Q6 in same tank without replacing
water
- Q in sample ID refers to quench and A refers to air cooled

41

Table 5.8 Experiment 4 heat treatment details

Experiment 4: 3/8 Dia. Samples for Tensile Tests


Samples Inserted

Furnace

Time @ Temp

Quenching

Temp (C)

(min)

Time (sec)

10.1

900

20

10

10.2

900

20

10

15.1

900

20

15

15.2

900

20

15

30.1

900

20

30

30.2

900

20

30

A.1

900

20

0 (air cooled)

A.2

900

20

0 (air cooled)

Full1

900

20

Full (5mins)

Full2

900

20

Full (5mins)

Sample ID

Notes:

Before Furnace
Turned On (Y/N)

- First four samples (10.1, 15.1, 30.1, A.1) were placed in furnace at same
time
- Second set of four samples (10.2, 15.2, 30.2, A.2) were placed in furnace
after first set had been removed and furnace was allowed to come back up
to temperature (900C)
-Third set of samples (Full1 and Full2) were placed in furnace after it had
come back up to temperature
- Samples quenched in tank (25L) with still water
- For each set, samples were quenched consecutively in same tank of water
starting with 10 than 15 than 30 (approximately 2L of cold tap water was
added to tank between the 15 and 30 samples)
- Water in tank was replaced for fully quenched samples
- Full1 was quenched in tank first, being held in the vertical position for
about 1 minute before allowing to sit on bottom of tank
-Full2 was quenched immediately after Full1 in same tank but with 2L of
new cold water added

42

Table 5.9 Experiment 5 heat treatment details

Experiment 5: 3/8 Dia. and 1 Pre-machined Samples for Tensile Tests


Samples Inserted

Furnace

Time @ Temp

Quenching

Temp (C)

(min)

Time (sec)

5.3

900

20

10.3

900

20

10

15.3

900

20

15

30.3

900

20

30

A.3

900

20

0 (air cooled)

5M.1

900

20

5M.2

900

20

10M.1

900

20

10

10M.2

900

20

10

15M.1

900

20

15

15M.2

900

20

15

30M.1

900

20

30

30M.2

900

20

30

AM.1

900

20

0 (air cooled)

AM.2

900

20

0 (air cooled)

Sample ID

Notes:

Before Furnace
Turned On (Y/N)

- First five samples (5.3, 10.3, 15.3, 30.3, A.3) were placed in furnace at
same time
- Second set of five samples (5M.1, 10M.1, 15M.1, 30M.1, AM.1) were
placed in furnace after first set had been removed and furnace was allowed
to come back up to temperature (900C)
-Third set of samples (5M.2, 10M.2, 15M.2, 30M.2, AM.2) were placed in
furnace after it had come back up to temperature (900C)
- Samples quenched in individual tanks (25L) with still water
- Water in tanks was replaced after each sample had been quenched (i.e.
water temp was constant for each sample)

43

Results and Discussion

6.1

Computer Model Results

6.1.1

Model Issues

There were a couple of issues with the model associated with the extension to non-eutectoid
steels. These include:
1. Incorporating the lever rule to determine the maximum possible amount of
proeutectoid ferrite transformed
2. Required transformation start and end times in solving the Avrami equation
As detailed in the following sections, due to these issues certain assumptions and approximations
had to be made to obtain a result.

6.1.1.1

Maximum Proeutectoid Ferrite

Unlike the other phases (i.e. pearlite, martensite, etc.) which form below the eutectoid
temperature, the maximum possible volume fraction of proeutectoid ferrite must be found by
applying the lever rule in conjunction with the phase diagram. The fraction of ferrite formed
relative to this maximum amount can be determined using the Avrami equation. The total
volume of ferrite is than calculated by multiplying the result of the Avrami equation with the
maximum volume fraction possible. For example, if after applying the lever rule it is found that
the maximum volume fraction of proeutectoid ferrite is 0.8 and then after applying the Avrami
equation it is found that the fraction of ferrite formed relative to the maximum is 0.2, then the
total volume fraction of proeutectoid ferrite formed is 0.8x0.2 = 0.16
From the Fe-Fe3C phase diagram shown in Figure 6.1, the critical parameters which must be
included in the model so that the lever rule can be applied are the A1, A3, and , lines. The
following equations were used to represent the A3 and lines [32].
3 = 6.02 103 + 6.76

= 1.06 104 + 0.126

44

Figure 6.1 Example of Fe-Fe3C Phase Diagram

Along with applying the Fe-Fe3C diagram to various steel chemistries, a single value for the A1
line of 727C was also assumed. However, another problem with the proeutectoid ferrite
transformation surrounded what procedure to use when the temperature dropped below the
eutectic temperature. For instance, due to the nature of continuous cooling, proeutectoid ferrite
continues to transform below the eutectic temperature. In order to determine the maximum
allowable amount of proeutectoid ferrite to form in this region the value found when applying
the lever rule at the eutectic temperature was assumed to continue. This maximum value was
then multiplied by the result found from the Avrami equation to determine the overall volume
fraction of new phase formed. The following is the function (called Xfmax) used in the program
to determine this maximum level:
function [ Xfmax ] = FerriteMax( TempField,Carbon,Nr )
%This function determines the maximum
%allowable proeutectoid ferrite that can form at a
%given temperature
A3=zeros(1,Nr)';
Alpha=zeros(1,Nr)';
A1=727;
for j=1:Nr
if TempField(j)>=A1
A3(j)=-6.02*10^-3*TempField(j)+6.76;
Alpha(j)=-1.06*10^-4*TempField(j)+0.126;
else
A3(j)=-6.02*10^-3*A1+6.76;
Alpha(j)=-1.06*10^-4*A1+0.126;
end
end
XfmaxDenominator=A3-Carbon;

45

XfmaxNumerator=A3-Alpha;
Xfmax=bsxfun(@rdivide,XfmaxDenominator,XfmaxNumerator);
end

6.1.1.2

Transformation Start and End Times

The second major issue encountered when dealing with non-eutectoid steels was the requirement
to have both transformation start and end times associated with all temperatures of the cooling
curve once transformation had begun. For example, examining some TTT curves like the one
shown in Figure 6.2 below, it is apparent that if a cooling curve were to intersect the
transformation start curve at higher temperatures and later times (in the case of slow cooling),
where the TTT curve is more shallow, the temperature at which it crosses will not have any
associated finish time. The result in this situation is that the material parameters used in the
Avrami equation (i.e. k and B) could not be solved.

Region where there is no


transformation finish data
associated with start data

Figure 6.2 Example TTT curve


The result of this is that in slow cooling scenarios the amount of proeutectoid phase formed is
underestimated. However, because of the shape of the eutectic TTT curve this issue has little to
no affect.

6.1.2

Comparison of Model with Experimental Results

In order to validate the results of the model, data from a published experiment involving the
quenching of a eutectic steel cylinder was performed [17]. Table 6.1 provides a comparison

46

between experimental conditions and the input data used in the computer model. It should be
noted that some parameters used in the published experiment varied with temperature and phase
and were provided in the form of graphs. In order to simplify the input data for the model,
specific values were selected to be representative of the entire cooling curve.

Table 6.1 Inputs for model and experimental comparison


Experimental Parameters

Computer Model Input

1080 Steel

1080 Steel

Bar Diameter (mm)

38

38

Initial Bar Temp (C)

850

850

Water Temp (C)

22.5

22.5

Vary with temp and phase

600

Material

Specific Heat

(480 to 800)
Density (Kg/m3)

Vary with temp and phase

7600

(7400 to 8000)
Thermal Conductivity
Coefficient (J/KgK)
Convection Coefficient

Vary with temp and phase (10

24

to 50)
Vary with temp (0 to 20,000)

10,000

(kW/m2K)

A comparison between the experiment and the computer model are shown below. Please note
that the computer model has a logarithmic scale along the x-axis unlike the experimental results.
The experimental results show the cooling curve at various points throughout the cylinder
including at the centre (labeled O) and at the surface (labeled A). These are directly
comparable to the two cooling curves from the model results. In general, the model results

47

match well with the experimental ones. The latent heat peak provides a good point of reference
between the two, both occurring at approximately 600C. Also comparable, are the temperatures
after 100 seconds of about 100C at the centre.

Figure 6.3 Experimental results

Figure 6.4 Model results

6.2 Experimental Results


6.2.1
6.2.1.1

Hardness Tests
Experiment 1 Hardness Results

The purpose of Experiment 1 was to act as a preliminary check to determine the likelihood that
AISI 1117 would fulfill the mechanical properties of the ASTM A 706 standard. By examining
the hardness profile across the radius of the bar, an approximation of the strength could be
determined. Further, through comparison of the microstructure between the surface and centre,
the depth of martensite transformation could be found which indicates the quenchability of the
steel. The measured hardness profile from the quenched samples of Experiment 1 is given in
Figure 6.2 along with estimated tensile strength values (estimated values from ASTM A370).
The preliminary tensile strength estimates indicated that AISI would be capable of achieving the
minimum strength.

48

Hardness Profile of AISI 1117


1" samples: Exp 1
240
785 MPa
230
220
710 MPa
210

690 MPa
675 MPa

663 MPa

Vickers Hardeness

200
650 MPa
190
180
Quenched
Air Cooled

170
160
150
140
420 MPa

130
120
0

10

Distance from Centre [mm]

Figure 6.5 Vickers hardness profile from Exp. 1

6.2.1.2

Experiment 2 and 3 Hardness Results

The microhardness results from Experiment 2 and 3 are depicted in Figure 6.2 below. With the
exception of sample Q6, the results show little variation in hardness across the radius of the bar.
Along with micrographs taken from these samples, the results indicate that a homogeneous
microstructure was produced in each case. Also, since sample Q7, which was quenched for 15
seconds, had a similar hardness profile as the fully quenched samples, Q3 and Q4, it would
indicate that 15 seconds is sufficient time to achieve maximum strengthening due to quenching
for this diameter of bar.

49

Hardness Profile of AISI 1117


3/8" samples: Exp 2 & 3
400

350

Vickers Hardeness

300

250
Q7 (15sec)
Q6 (30sec)

200

Q5 (3sec)
Q4 (Full)
Q3 (Full)

150

A2 (air)

100

50

0
0

0.5

1.5

2.5

3.5

Distance from Centre [mm]

Figure 6.6 Vickers hardness profile from Exp. 2 & 3

6.2.2
6.2.2.1

Microstructure
Experiment 1 Microstructure

The microstructure of the air cooled sample from experiment 1 is shown in Figure 6.3. It
consists of Proeutectoid Ferrite and Pearlite microstructure. Since it was subjected to the same
heat treatment (900C for 45 minutes) as the quenched samples (Q1 and Q2) it represents the
pre-quenched microstructure.

50

Figure 6.7: AISI 1117 1 dia. bar austenized and air cooled
Micrographs from the surface and centre of quenched sample, Q2, are shown in
Figure 6.4 and Figure 6.5 respectively. In both instances martensite is evident, showing that this
material is easily quenched. However, the increased presence of proeutectoid ferrite (light
regions) near the centre explains the decrease in hardness across the radius of the bar.

Figure 6.8 AISI 1117 1 bar quenched: centre

Figure 6.9 AISI 1117 1" bar quenched: surface

51

6.2.2.2

Experiment 2 and 3 Microstructure

Micrographs from Experiment 2 and 3 are shown in Figure 6.6 to Figure 6.11 below. All
quenched samples except for Q5 (quenched for 3 seconds) consisted of martensite with
proeutectoid ferrite along the grain boundaries. Sample Q5 and A2 had a microstructure
consisting entirely of proeutectoid ferrite and pearlite, however, the grain size of Q5 was smaller
than for A2 as a result of the brief quenching and explains the slightly higher hardness
measurement values found for Q5.

52

Figure 6.10 A2 micrograph: air cooled

Figure 6.11 Q5 micrograph: 3 second quench

Figure 6.12 Q3 micrograph: full quench

Figure 6.13 Q4 micrograph: full quench

Figure 6.14 Q6 micrograph: 30 second quench

Figure 6.15 Q7 micrograph: 15 second quench

53

6.2.3
6.2.3.1

Tensile Test Results


Experiment 4 Tensile Test Results

The results of the tensile test for the first batch of samples heat treated in Experiment 4 (10.1,
15.1, 30.1, and A.1) are shown in Figure 6.12. The mechanical properties for each are also
provided in Table 6.1. A significant difference in mechanical response is observed between the
quenched samples versus the air cooled sample. As would be expected, due to the absence of
martensite, the air cooled sample has a lower strength but greater elongation to fracture than the
quenched samples. However, the higher ratio between tensile and yield strength, for which a
minimum requirement is defined in ASTM A 706, was higher for the quenched samples as
compared to the air cooled one.
In regards to the variation in response of the quenched samples, the decrease in strength with the
increase in quench time is unexpected. This effect was later thought to be a result of the order in
which the samples were quenched, along with the fact that the water in the tank was not changed
between samples. In other words, the water temperature would have risen with each successive
sample, and in turn would have affected the vapor layer formation around the surface of the bar
during quenching, leading to a greater resistance to heat transfer. This added resistance would
have decreased the quenching rate causing a corresponding decrease in strength due to a greater
presence of proeutectoid ferrite. An additional experiment, Experiment 5 (first batch of
samples), was performed to verify this.

54

1200

1000

10.1
15.1

800

Engineering Stress [MPa]

30.1
600
A.1
400

200

0
0

10

15

20

25

30

35

40

Engineering Strain [%]

Figure 6.16 AISI 1117 engineering stess-strain curves from Exp. 4: 1st sample batch

Table 6.2 AISI 1117 heat treatment Exp. 4 first sample batch mechanical properties
10.1

15.1

30.1

A.1

Yield Strength (MPa)

646

639

571

425

Tensile Strength (MPa)

1003

979

863

509

Tensile/Yield Ratio

1.55

1.53

1.51

1.20

13.7%

14.2%

13.5%

37.4%

Elongation

55

The results from the second batch of samples in Experiment 4 (10.2, 15.2, 30.2, and A.2) are
shown in Figure 6.13 and Table 6.2. Sample A.2 was not tested as it had been damaged during
the initial setup of the tensile machine. Also, a complete stress-strain curve could not be
collected from Sample 10.2 and 30.2 as the non-uniform reduction (i.e. necking) occurred
outside the area being measured by the extensometer. Apart from these issues, the results that
were collected show significant variation in strength (approximately 30% difference) and
elongation to fracture (15.2 only) as those found in the first batch of samples. In addition to
confirming the effect described in the first batch of samples (i.e. decreasing strength with
increasing quench time), Experiment 5 was also performed to examine this variation in strength.
1200

1000
10.2

Engineering Stress [MPa]

800
15.2

30.2

600

400

200

0
0

10

15

20

25

30

35

40

Engineering Strain [%]

Figure 6.17 AISI 1117 engineering stress-strain curves from Exp. 4: 2nd sample batch

56

Table 6.3 AISI 1117 heat treatment Exp. 4 second sample batch mechanical properties
10.2

15.2

30.2

A.2

Yield Strength (MPa)

498

476

439

N/A

Tensile Strength (MPa)

N/A

754

N/A

N/A

Tensile/Yield Ratio

N/A

1.58

N/A

N/A

Elongation

N/A

20.6%

N/A

N/A

6.2.3.2

Experiment 5 Tensile Test Results: 3/8 Inch Samples

Experiment 5 was performed to better understand the results found from Experiment 4. During
the previous experiment an unexpected result occurred in which the strength (both yield and
tensile) decreased as the quenching time increased. As was previously discussed, this effect was
believed to be a result of the quenching practice that was used. Specifically, samples were
quenched consecutively in the same tank of water. This would have resulted in an increase in
water temperature between each sample and caused a corresponding drop in the quenching rate.
In order to verify this, samples in Experiment 5 were quenched in separate tanks each containing
the same temperature and quantity of water.
The results of the first batch of samples from this experiment are shown in Figure 6.14 and Table
6.3 below. A complete curve was not acquired for sample 15.3 due to the non-uniform
deformation occurring outside the area being measured by the extensometer; however, this
should not impact the stress values measured. The results show that apart from sample 15.3, the
tensile and yield strength increased with increasing quenching time. This supports the
explanation of the quenching method used in Experiment 3 as the likely cause for the opposite
relationship (i.e. strength decrease with increased quenching time).

57

1200

15.3
30.3

1000

Engineering Stress [MPa]

10.3
800

5.3

600

A.3
400

200

0
0

10

15

20

25

30

35

40

Engineering Strain [%]

Figure 6.18 AISI 1117 engineering stess-strain curves from Exp. 5: 3/8" bar stock

Table 6.4 AISI 1117 heat treatment Exp. 5: 3/8" bar stock mechanical properties
5.3

10.3

15.3

30.3

A.3

Yield Strength (MPa)

532

584

800

681

363

Tensile Strength (MPa)

861

920

1048

1001

511

Tensile/Yield Ratio

1.62

1.58

1.31

1.47

1.41

18.8%

12.4%

N/A

10.5%

34.8%

Elongation

58

6.2.3.3

Experiment 5 Tensile Test Results: 1 Inch Samples

The second part of Experiment 5 was performed to examine the effects of initial bar stock
diameter and the effect of post-heat treatment machining of previous experiments on the
achievable strength of AISI 1117. A larger bar diameter, because it has gone through less
reduction during the rolling process, has a larger grain size than a smaller bar diameter as shown
in Figure 6.14 and Figure 6.15 respectively. Since, in general, larger grain size results in lower
strength, the 1 inch bar stock was tested to check if it could also meet the ASTM A 706 rebar
standard. However, in addition to differences in grain size, machining the samples after
quenching could also have an effect on the measured strength. If variation in microstructure
exists across the radius of the bar, than machining a portion of the surface would affect the
overall strength of that bar. In order to avoid this affect and to better represent actual rolling
conditions, the 1 inch bar stock was machined prior to being heat treated. These samples were
machined to have a 3/8 inch gauge diameter so that the temperature history it was subjected to
during heating and quenching would be the same as that of the 3/8 inch bar stock samples.

Figure 6.19 AISI 1117 1" bar stock: sample A1

Figure 6.20AISI 1117 3/8" bar stock: sample A2

Two batches of samples were tested using the same conditions. Each sample was quenched in a
separate tank to avoid the conditions discussed before. The results of these experiments are
shown in Figure 6.15, Table 6.4 and Table 6.5 below.

59

900

1.60
1.50

800

1.40
1.30

700
1.20

Strength [MPa]

1.00
0.90

500

0.80
400

0.70
0.60

300

Tensile/Yield Ratio

1.10

600

Yield Strength
Tensile Strength
TS/YS

0.50
0.40

200
0.30
0.20

100

0.10
0

0.00
AM.1

AM.2

5M.1

5M.2

10M.1

10M.2

15M.1

15M.2

30M.1

30M.2

Sample

Figure 6.21 AISI 1117 1" bar stock mechanical properties comparison

Table 6.5 1117 heat treatment Exp. 5: 1" bar stock first batch mechanical properties
5M.1

10M.1

15M.1

30M.1

AM.1

Yield Strength (MPa)

542

547

472

532

398

Tensile Strength (MPa)

691

730

709

812

500

Tensile/Yield Ratio

1.28

1.33

1.50

1.53

1.26

Elongation

N/A

N/A

N/A

N/A

N/A

60

Table 6.6 1117 heat treatment Exp. 5: 1" bar stock second batch mechanical properties
5M.2

10M.2

15M.2

30M.2

AM.2

Yield Strength (MPa)

520

497

525

468

366

Tensile Strength (MPa)

679

687

759

691

491

Tensile/Yield Ratio

1.31

1.38

1.45

1.48

1.34

Elongation

N/A

N/A

N/A

N/A

N/A

Conclusions

7.1 Computer Model Conclusions


When compared to the results of a published quenching experiment of eutectoid steel, the model
predicted a similar cooling history. The model was extended to incorporate non-eutectoid steels,
however, due to a lack of similar experiments that provide both a cooling history and isothermal
data (TTT) this area remains to be verified.

7.2 Experimental Conclusions


Experiments were conducted to determine if AISI 1117 steel subjected to quenching could fulfill
the mechanical requirements of ASTM A 706 rebar. The following conclusions can be drawn
from the experimental results:
1. After quenching, the 0.2% offset yield stress and UTS of the material being studied
exceeded the minimum requirements defined in ASTM A 706.
2. The ratio between tensile and yield strength was increased by quenching, as compared
to the air cooled samples, and also exceeded the minimum requirement set by ASTM A
706.

61

3. The elongation to fracture, while being reduced after quenching, was still within
acceptable range of the ASTM A 706 rebar standard.
Table 7.1 below summarizes the experimental results and compares them with the requirements
of the ASTM A 706 rebar standard.
Table 7.1 Comparison of ASTM A 706 requirements and experimental results
ASTM A 706 Requirements

Experimental Results*

Grade 60 [420]

Grade 80 [550]

Quenched

Air Cooled

Yield Strength (MPa)

420 (min)
540 (max)

550 (min)
675 (max)

619

425

Tensile Strength
(MPa)

550 (min)

690 (min)

948

509

Tensile/Yield Ratio

1.25 (min)

1.25 (min)

1.53

1.20

*Note: The quenched experimental results are an average from samples; 10.1, 15.1, and 30.1
and the air cooled results are from A.1.
The results shown above illustrate the fact that an operating window exists to satisfy all the
mechanical requirements of both grades defined in the ASTM A 706 standards.
In regards to the application of this composition in a QST process used in rebar production there
are a few considerations that should be made. The method of quenching used in this research has
a much lower heat transfer coefficient compared to the high pressure water spray used in the
QST process. Additionally, the quenching times used in the experiments are greater than actual
quenching times possible in a continuous rolling/QST process. Since the results showed that the
A 706 requirements were exceeded even with minimum quenching (i.e. quench time =
5seconds), the combination of shorter quenching time but increased heat transfer coefficient with
the QST process may still provide an adequate operating window to achieve the necessary
requirements.

62

Future Work

While the work presented here has shown that AISI 1117 is a possible candidate for a suitable
steel composition to be used in the quench and self-tempering process used to produce ASTM A
706 rebar, further work is required before conducting actual mill tests. The critical work to be
carried out includes:
1. Investigate hot rolled AISI 1117 (as opposed to cold rolled) to determine impact to strength.
2. Investigate similar material but with sulfur content below 0.08 wt% to satisfy full chemical
restrictions of ASTM A 706.
3. Determine isothermal data of AISI 1117 to include in computer model.
4. Verify model predictions for this material and use to identify preliminary operating
parameters.
5. Optimize composition to minimize material costs while still meeting product requirements.

63

References
1. CSA Standard CAN/CSA-G30.18-M92, Billet-Steel Bars for Concrete Reinforcement,
Standards Council of Canada, Ottawa, ON, 1992.
2. Japanese Industrial Standard JIS G 3112:2004, Steel Bars for Concrete Reinforcement,
Japanese Standards Association, Tokyo, 2005.
3. Australian/New Zealand Standard AS/NZS 4671:2001, Steel Reinforcing Materials,
Standards Australia, Sydney, Australia, and Standards New Zealand, Wellington, New
Zealand, 2001.
4. ASTM Standard A 615/A 615M-09, Standard Specification for Deformed and Plain
Billet-Steel Bars for Concrete Reinforcement, ASTM International, West
Conshohocken, PA, 2009, DOI: 10.1520/A0615_A0615M-09B, www.astm.org.
5. ASTM Standard A 706/A 706M-09, Standard Specification for Low-Alloy Steel
Deformed Bars for Concrete Reinforcement, ASTM International, West Conshohocken,
PA, 2009, DOI: 10.1520/A0706_A0706M-09B, www.astm.org.
6. D.P. Gustafson, Revisiting low-alloy steel reinforcing bars, Concrete International, Jan
2007, p55
7. D.P. Gustafson, A.L. Felder, Questions and answers on ASTM A 706 reinforcing bars,
Concrete International, Vol. 13, No. 7, 1991, p54
8. ACI 318-02, Building code requirements for structural concrete, American Concrete
Institute, Farmington Hills, MI, 2002
9. ACI Committee 439, Uses and limitations of high strength steel reinforcement, ACI
Journal, Proceedings Vol. 70, No. 2, 1973, p77
10. EN 10080:2005, Steel for the reinforcement of concrete: weldable reinforcing steel
general, Brussels, Belgium, 2005
11. DIN 488-1, Reinforcing steels: grades, properties, marking, Deutsches Institut Fur
Normung, Berlin, Germany, 1984

64

12. P.K. Agarwal, J.K. Brimacombe, Mathematical model of heat flow and austenite-pearlite
transformation in eutectoid carbon steel rods for wire, Metallurgical Transactions, Vol.
12B, 1981, p121
13. M. Umemoto, N. Nishioka, I. Tamura, Prediction of hardenability from isothermal
transformation diagrams, Journal of Heat Treating, Vol.2, No.2, 1981, p130
14. E.B. Hawbolt, B. Chau, J.K. Brimacombe, Kinetics of austenite-pearlite transformation in
eutectoid carbon steel, Metallurgical Transactions, Vol. 13A, 1983, p1803
15. P.C. Campbell, E.B. Hawbolt, J.K. Brimacombe, Microstructural engineering applied to
the controlled cooling of steel wire rod: Part III. Mathematical model formulation and
predictions, Metallurgical Transactions, Vol. 22A, 1991, p2791
16. S. Denis, S. Sjostrom, A. Simon, Coupled temperature, stress, phase transformation
calculation model numerical illustration of the internal stresses evolution during cooling
of a eutectoid carbon steel cylinder, Metallurgical Transactions, Vol. 18A, 1987, p1203
17. P.R. Woodard, S. Chandrasekar, H.T.Y. Yang, Analysis of temperature and
microstructure in the quenching of steel cylinders, Metallurgical and Materials
Transactions, Vol. 30B, 1999, p815
18. A. Johnson, R.F. Mehl, Reaction kinetics in processes of nucleation and growth,
Transactions of AIME, Vol. 135, 1939, p416
19. M. Avrami, Kinetics of phase change I: general theory, Journal of Chemical Physics,
Vol. 7, 1939, p1103
20. M. Avrami, Kinetics of phase change II: transformation-time relations for random
distribution of nuclei, Journal of Chemical Physics, Vol. 8, 1940, p212
21. M. Avrami, Kinetics of phase change III: granulation, phase change, and microstructure,
Journal of Chemical Physics, Vol. 9, 1941, p177
22. C. Verdi, A. Visinitin, A mathematical model of the austenite-pearlite transformation in
plain carbon steel based on the Scheils additivity rule, Act Metall., Vol. 35, No. 11,
1987, p2711

65

23. F.M. B. Fernandes, S. Denis, A. Simon, Mathematical model coupling phase


transformation and temperature evolution during quenching of steels, Materials Science
and Technology, Vol. 1, 1985, p838
24. G.F. Vander Voort, Atlas of time-temperature diagrams for nonferrous alloys, ASM
International, 1991
25. M.B. Kuban, R. Jayaraman, E.B. Hawbolt, J.K.Brimacombe, An assessment of the
additivity principle in predicting continuous-cooling austenite-to-pearlite transformation
kinetics using isothermal transformation data, Metallurgical Transactions, Vol. 17A,
1986, p1493
26. J.W. Cahn, The kinetics of grain boundary nucleated reactions, Acta Metallurgica, Vol.
4, 1956, p449
27. R.G. Kamat, E.B. Hawbolt, L.C. Brown, J.K. Brimacombe, The principle of additivity
and the proeutectoid ferrite transformation, Metallurgical Transactions, Vol. 23A, 1992,
p2469
28. S.H. Kang, Y.T. Im, Three-dimensional finite-element analysis of the quenching process
of plain-carbon steel with phase transformation, Metallurgical and Materials
Transactions, Vol. 36A, 2005, p2315
29. S.K. Ali, M.S. Hamed, M.F. Lightstone, An efficient numerical algorithm for the
prediction of thermal and microstructure fields during quenching of steel rods, Journal of
ASTM International, Vol. 5, No. 10, 2008
30. K.F. Wang, S. Chandrasekar, H.T.Y. Yang, An efficient 2D finite element procedure for
the quenching analysis with phase change, Journal of Engineering for Industry, Vol. 115,
1993, p124
31. D.P. Koistinen, R.E. Marburger, A general equation prescribing the extent of the
austenite-martensite transformation in pure iron-carbon alloys and plain carbon steels,
Acta Metallurgica, Vol. 7, 1959, p59
32. M. Umemoto, N. Nishioka, I. Tamura, Kinetics of proeutectoid ferrite reaction during
isothermal holding and continuous cooling in plain carbon steels, Proceedings of the 3rd
International Congress on Heat Treatment of Materials, 1983, p5.35

66

Appendix 1: Mill Report AISI 1171 1

67

Appendix 2: Mill Report AISI 1171 3/8

68

Appendix 3: Example Mill Report from US Rebar


Producer

69

Appendix 4: Computer Program Main Function


function varargout = QSTmodel1(varargin)
% QSTMODEL1 M-file for QSTmodel1.fig
%
QSTMODEL1, by itself, creates a new QSTMODEL1 or raises the existing
%
singleton*.
%
%
H = QSTMODEL1 returns the handle to a new QSTMODEL1 or the handle to
%
the existing singleton*.
%
%
QSTMODEL1('CALLBACK',hObject,eventData,handles,...) calls the local
%
function named CALLBACK in QSTMODEL1.M with the given input arguments.
%
%
QSTMODEL1('Property','Value',...) creates a new QSTMODEL1 or raises
the
%
existing singleton*. Starting from the left, property value pairs are
%
applied to the GUI before QSTmodel1_OpeningFcn gets called. An
%
unrecognized property name or invalid value makes property application
%
stop. All inputs are passed to QSTmodel1_OpeningFcn via varargin.
%
%
*See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
%
instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help QSTmodel1
% Last Modified by GUIDE v2.5 28-Sep-2010 14:45:27
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @QSTmodel1_OpeningFcn, ...
'gui_OutputFcn', @QSTmodel1_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback',
[]);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT

% --- Executes just before QSTmodel1 is made visible.


function QSTmodel1_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject
handle to figure
% eventdata reserved - to be defined in a future version of MATLAB

70

% handles
% varargin

structure with handles and user data (see GUIDATA)


command line arguments to QSTmodel1 (see VARARGIN)

%loads TTT data for all steel types


load('C:\Users\Matt\Documents\MATLAB\1080TTT.mat');
load('C:\Users\Matt\Documents\MATLAB\1330TTT.mat');
load('C:\Users\Matt\Documents\MATLAB\1019TTT.mat');
%sets the axis and labels of PhaseFormation_axes
title(handles.PhaseFormation_axes,'Phase Formation');
xlabel(handles.PhaseFormation_axes,'Time [sec]');
ylabel(handles.PhaseFormation_axes,'Phase Proportion');
%plots the 1080 TTT curve upon opening
Ms=226;
MaxTime=max(max(TimePs1080),max(TimePf1080));
x1=[0.1 MaxTime];
y1=[Ms Ms];
semilogx(handles.TTTgraph_axes,TimePs1080,TempPs1080,'k',TimePf1080,TempPf1080,'-k',x1,y1,'-k');
axis(handles.TTTgraph_axes,[0 100000 0 900]);
title(handles.TTTgraph_axes,'1080 TTT curve');
xlabel(handles.TTTgraph_axes,'Log Time [sec]');
ylabel(handles.TTTgraph_axes,'Temperature [\circ C]');
% Choose default command line output for QSTmodel1
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes QSTmodel1 wait for user response (see UIRESUME)
% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.
function varargout = QSTmodel1_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject
handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;

function input_quenchtimeText_Callback(hObject, eventdata, handles)


% hObject
handle to input_quenchtimeText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
input=str2num(get(hObject,'String'));
if (isempty(input))
set(hObject,'String','0')
end
guidata(hObject,handles);

71

% Hints: get(hObject,'String') returns contents of input_quenchtimeText as


text
%
str2double(get(hObject,'String')) returns contents of
input_quenchtimeText as a double

% --- Executes during object creation, after setting all properties.


function input_quenchtimeText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to input_quenchtimeText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% --- Executes on button press in run_pushbutton.


function run_pushbutton_Callback(hObject, eventdata, handles)
% hObject
handle to run_pushbutton (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
in1 = get(handles.input_quenchtimeText,'String');
in2 = get(handles.input_BarDiaText,'String');
in3 = get(handles.input_InitialBarTempText,'String');
in4 = get(handles.input_WaterTempText,'String');
in5 = get(handles.input_hText,'String');
in6 = get(handles.input_hAirText,'String');
in7 = get(handles.input_AirTempText,'String');
in8 = get(handles.input_AirTimeText,'String');
in9 = get(handles.input_NrText,'String');
in10= get(handles.input_TimeStepText,'String');
in11= get(handles.input_CarbonText,'String');
QuenchTime=str2num(in1);
BarDia=str2num(in2);
InitialBarTemp=str2num(in3);
WaterTemp=str2num(in4);
h=str2num(in5);
hAir=str2num(in6);
AirTemp=str2num(in7);
AirTime=str2num(in8);
Nr=str2num(in9);
DeltaT=str2num(in10);
Carbon=str2num(in11);
checkboxStatus = get(handles.HeatGen_checkbox,'Value');
AirCool_checkboxStatus = get(handles.AirCool_checkbox,'Value');
SCPlot_checkboxStatus = get(handles.SCPlot_checkbox,'Value');
CenCPlot_checkboxStatus = get(handles.CenCPlot_checkbox,'Value');
FFormPlot_checkboxStatus = get(handles.FFormPlot_checkbox,'Value');
PFormPlot_checkboxStatus = get(handles.PFormPlot_checkbox,'Value');

72

MFormPlot_checkboxStatus = get(handles.MFormPlot_checkbox,'Value');
SteelType_PopupmenuStatus = get(handles.input_SteelTypePopupmenu,'Value');
load('C:\Users\Matt\Documents\MATLAB\1080TTT.mat');
load('C:\Users\Matt\Documents\MATLAB\1330TTT.mat');
load('C:\Users\Matt\Documents\MATLAB\1019TTT.mat');
%Ms=226;
%Ms1330=400;
density=7600;
Cp=600;
alpha=0.00000526;
kcon=24;
DeltaR=BarDia/1000/2/Nr;
Fo=alpha*DeltaT/(DeltaR^2);
Bi=h*DeltaR/kcon;
DeltaHM=640*10^6;
PearliteStartTempUpper=0;
PearliteStartTimeUpper=0;
PearliteStartTempLower=0;
PearliteStartTimeLower=0;
PearliteStartTemp=0;
PearliteStartTime=0;
%assigns specific TTT data to generic variables based on which steel
%composition has been selected
if SteelType_PopupmenuStatus==1
FerriteStartTemp=0;
FerriteStartTime=0;
PearliteStartTemp=TempPs1080;
PearliteStartTime=TimePs1080;
PearliteFinishTemp=TempPf1080;
PearliteFinishTime=TimePf1080;
MartensiteStartTemp=226;
end
if SteelType_PopupmenuStatus==2
FerriteStartTemp=TempFs1330;
FerriteStartTime=TimeFs1330;
PearliteStartTemp=TempPs1330;
PearliteStartTime=TimePs1330;
PearliteFinishTemp=TempPf1330;
PearliteFinishTime=TimePf1330;
MartensiteStartTemp=400;
end
if SteelType_PopupmenuStatus==3
FerriteStartTemp=TempFs1019;
FerriteStartTime=TimeFs1019;
PearliteStartTempUpper=TempPsU1019;
PearliteStartTimeUpper=TimePsU1019;
PearliteStartTempLower=TempPsL1019;
PearliteStartTimeLower=TimePsL1019;
PearliteFinishTemp=TempPf1019;
PearliteFinishTime=TimePf1019;
MartensiteStartTemp=446;
end

73

% Z matrix is the subdiagonal coefficients of the tridiagonal matrix


E=sparse(2:Nr,1:Nr-1,ones(1,Nr-1),Nr,Nr);
Z=E*-Fo;
Z(Nr,Nr-1)=(-2*Fo);
% Y matrix is the diagonal coefficients of the tridiagonal matrix
G=ones(1,Nr);
X=G*(1+(2*Fo));
X(1,1)=(1+(2*Fo)+(2*Fo*Bi));
Y=sparse(1:Nr,1:Nr,X,Nr,Nr);
% U matrix is the superdiagonal coefficients of the tridiagonal matrix
W=sparse(1:Nr-1,2:Nr,ones(1,Nr-1),Nr,Nr);
U=W*(-Fo);
U(1,2)=(-2*Fo);
% N matrix is the assembled tridiagonal coefficient matrix
M=Z+Y+U;
N=full(M);
% The following creates the initial values of the TempField loop
A=ones(1,Nr)*InitialBarTemp;
B=[(2*Fo*Bi*WaterTemp),zeros(1,Nr-1)];
TempField=A';
Scheils=zeros(1,Nr)';
Xf=zeros(1,Nr)';
Ff=zeros(1,Nr)';
Xm=zeros(1,Nr)';
Fm=zeros(1,Nr)';
FM=zeros(1,Nr)';
C=TempField+B';
TempField=N\C;
timeplot=zeros(1,QuenchTime/DeltaT);
tempplot1=zeros(1,QuenchTime/DeltaT);
tempplot2=zeros(1,QuenchTime/DeltaT);
tempplot1(1)=InitialBarTemp;
tempplot2(1)=InitialBarTemp;
Ffplot1=zeros(1,QuenchTime/DeltaT);
FfplotNr=zeros(1,QuenchTime/DeltaT);
Fmplot1=zeros(1,QuenchTime/DeltaT);
FmplotNr=zeros(1,QuenchTime/DeltaT);
FMplot1=zeros(1,QuenchTime/DeltaT);
FMplotNr=zeros(1,QuenchTime/DeltaT);
%
%
%
%

function to allow cooling until steady state (i.e room temp)


after quench time is done must change h to convection in air
must provide means of turning this functionality on/off
AirCool = (callback from button 0=no, 1=yes)

if checkboxStatus==0 %checkboxStatus = 0 if heat generation is not selected


% Iteration to calculate TempField and Pearlite Fraction at quenching time
for k=1:(QuenchTime/DeltaT)
progressbar(k/(QuenchTime/DeltaT),0);
if SteelType_PopupmenuStatus==1
D=bsxfun(@rdivide,DeltaT,(interp1(PearliteStartTemp,PearliteStartTime,TempFie
ld)));
end

74

if SteelType_PopupmenuStatus==2
D=bsxfun(@rdivide,DeltaT,(interp1(FerriteStartTemp,FerriteStartTime,TempField
)));
end
if SteelType_PopupmenuStatus==3
D=bsxfun(@rdivide,DeltaT,(interp1(FerriteStartTemp,FerriteStartTime,TempField
)));
end
RepNaN=isnan(D);
D(RepNaN)=0;
Scheils=Scheils+D;
for j=1:Nr
if Scheils(j)>=1
Scheils(j)=1;
else
Scheils(j)=Scheils(j);
end
end
if SteelType_PopupmenuStatus==1
Ff=0;
else
[Ff]=FerriteGrowth(FerriteStartTemp,FerriteStartTime,TempField,PearliteStartT
emp,PearliteStartTime,DeltaT,k,Nr,MartensiteStartTemp,Scheils,Carbon,Ff,Steel
Type_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper);
end
Xf=bsxfun(@times,FerriteMax(TempField,Carbon,Nr),Ff);

[Fm]=PearliteGrowth2(PearliteStartTemp,PearliteStartTime,TempField,PearliteFi
nishTemp,PearliteFinishTime,DeltaT,k,Nr,MartensiteStartTemp,Scheils,Fm,SteelT
ype_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper,PearliteSta
rtTempLower,PearliteStartTimeLower);
Xm=bsxfun(@times,(1-Xf),Fm);
[FM]=MartForm(Nr,TempField,Xm,FM,MartensiteStartTemp,Xf);
Xa=1-Xf-Xm-FM;
C=TempField+B';
TempField=N\C;
timeplot(1)=0;
timeplot(k+1)=DeltaT*k;
tempplot1(k+1)=TempField(1);
tempplot2(k+1)=TempField(Nr);
QuenchTemp=round(TempField(1));
TemperTemp='N/A';
%collects the fractions of phases formed at each time step in the form of a
%vector which is later used to plot against time
Ffplot1(k+1)=Xf(1);
FfplotNr(k+1)=Xf(Nr);
Fmplot1(k+1)=Xm(1);

75

FmplotNr(k+1)=Xm(Nr);
FMplot1(k+1)=FM(1);
FMplotNr(k+1)=FM(Nr);
end
if AirCool_checkboxStatus==1
Bi=hAir*DeltaR/kcon;
B=[(2*Fo*Bi*AirTemp),zeros(1,Nr-1)];
N(1,1)=(1+(2*Fo)+(2*Fo*Bi));
count=0;
%while TempField(Nr)> 3*AirTemp
for g=1:AirTime
b=(QuenchTime/DeltaT)+count;
count=count+1;
TemperTemp1=TempField(1);
if SteelType_PopupmenuStatus==1
D=bsxfun(@rdivide,DeltaT,(interp1(PearliteStartTemp,PearliteStartTime,TempFie
ld)));
end
if SteelType_PopupmenuStatus==2
D=bsxfun(@rdivide,DeltaT,(interp1(FerriteStartTemp,FerriteStartTime,TempField
)));
end
if SteelType_PopupmenuStatus==3
D=bsxfun(@rdivide,DeltaT,(interp1(FerriteStartTemp,FerriteStartTime,TempField
)));
end
RepNaN=isnan(D);
D(RepNaN)=0;
Scheils=Scheils+D;
for j=1:Nr
if Scheils(j)>=1
Scheils(j)=1;
else
Scheils(j)=Scheils(j);
end
end
if SteelType_PopupmenuStatus==1
Ff=0;
else
[Ff]=FerriteGrowth(FerriteStartTemp,FerriteStartTime,TempField,PearliteStartT
emp,PearliteStartTime,DeltaT,k,Nr,MartensiteStartTemp,Scheils,Carbon,Ff,Steel
Type_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper);
end
Xf=bsxfun(@times,FerriteMax(TempField,Carbon,Nr),Ff);

[Fm]=PearliteGrowth2(PearliteStartTemp,PearliteStartTime,TempField,PearliteFi
nishTemp,PearliteFinishTime,DeltaT,k,Nr,MartensiteStartTemp,Scheils,Fm,SteelT
ype_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper,PearliteSta
rtTempLower,PearliteStartTimeLower);

76

Xm=bsxfun(@times,(1-Xf),Fm);
[FM]=MartForm(Nr,TempField,Xm,FM,MartensiteStartTemp,Xf);
Xa=1-Xf-Xm-FM;
C=TempField+B';
TempField=N\C;
TemperTemp2=TempField(1);
if TemperTemp2>TemperTemp1
TemperTemp=round(TemperTemp2);
end
timeplot(1)=0;
timeplot(b+1)=DeltaT*b;
tempplot1(b+1)=TempField(1);
tempplot2(b+1)=TempField(Nr);
%collects the fractions of phases formed at each time step in the form of a
%vector which is later used to plot against time
Ffplot1(k+1)=Xf(1);
FfplotNr(k+1)=Xf(Nr);
Fmplot1(b+1)=Xm(1);
FmplotNr(b+1)=Xm(Nr);
FMplot1(b+1)=FM(1);
FMplotNr(b+1)=FM(Nr);
end
end
else
for k=1:(QuenchTime/DeltaT)
progressbar(k/(QuenchTime/DeltaT),0);
Xfprev=Xf;
Xmprev=Xm;
FMprev=FM;
if SteelType_PopupmenuStatus==1
D=bsxfun(@rdivide,DeltaT,(interp1(PearliteStartTemp,PearliteStartTime,TempFie
ld)));
end
if SteelType_PopupmenuStatus==2
D=bsxfun(@rdivide,DeltaT,(interp1(FerriteStartTemp,FerriteStartTime,TempField
)));
end
if SteelType_PopupmenuStatus==3
D=bsxfun(@rdivide,DeltaT,(interp1(FerriteStartTemp,FerriteStartTime,TempField
)));
end
RepNaN=isnan(D);
D(RepNaN)=0;
Scheils=Scheils+D;
DeltaHf=(1.082*10^2)-(0.162*(TempField+273))+((1.118*10^4)*(bsxfun(@power,(TempField+273),2)))-((3*10^8)*(bsxfun(@power,(TempField+273),3)))(bsxfun(@rdivide,3.501*10^4,(TempField+273)));
DeltaHp=(1.56*10^9)-((1.5*10^6)*TempField);

77

for j=1:Nr
if Scheils(j)>=1
Scheils(j)=1;
else
Scheils(j)=Scheils(j);
end
end
if SteelType_PopupmenuStatus==1
Ff=0;
else
[Ff]=FerriteGrowth(FerriteStartTemp,FerriteStartTime,TempField,PearliteStartT
emp,PearliteStartTime,DeltaT,k,Nr,MartensiteStartTemp,Scheils,Carbon,Ff,Steel
Type_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper);
end
Xf=bsxfun(@times,FerriteMax(TempField,Carbon,Nr),Ff);

[Fm]=PearliteGrowth2(PearliteStartTemp,PearliteStartTime,TempField,PearliteFi
nishTemp,PearliteFinishTime,DeltaT,k,Nr,MartensiteStartTemp,Scheils,Fm,SteelT
ype_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper,PearliteSta
rtTempLower,PearliteStartTimeLower);
Xm=bsxfun(@times,(1-Xf),Fm);
[FM]=MartForm(Nr,TempField,Xm,FM,MartensiteStartTemp,Xf);
Xa=1-Xf-Xm-FM;

[DeltaXf,DeltaXm,DeltaFM]=DeltaPhase(Nr,Xf,Xfprev,Xm,Xmprev,FM,FMprev);

%Calculate the change in temp due to latent heat generation


%Ferrite
DHFf=bsxfun(@times,DeltaHf,DeltaXf);
Qdotf=bsxfun(@rdivide,DHFf,DeltaT);
TempQf=bsxfun(@rdivide,Qdotf,(density*Cp))*DeltaT;
%Pearlite
DHFm=bsxfun(@times,DeltaHp,DeltaXm);
Qdotm=bsxfun(@rdivide,DHFm,DeltaT);
TempQm=bsxfun(@rdivide,Qdotm,(density*Cp))*DeltaT;
%Martensite
DHFmM=DeltaFM*DeltaHM;
QdotM=bsxfun(@rdivide,DHFmM,DeltaT);
TempQM=bsxfun(@rdivide,QdotM,(density*Cp))*DeltaT;
TempField=TempField+TempQf+TempQm+TempQM;
C=TempField+B';
TempField=N\C;
timeplot(1)=0;
timeplot(k+1)=DeltaT*k;
tempplot1(k+1)=TempField(1);
tempplot2(k+1)=TempField(Nr);

78

%collects the fractions of phases formed at each time step in the form of a
%vector which is later used to plot against time
Ffplot1(k+1)=Xf(1);
FfplotNr(k+1)=Xf(Nr);
Fmplot1(k+1)=Xm(1);
FmplotNr(k+1)=Xm(Nr);
FMplot1(k+1)=FM(1);
FMplotNr(k+1)=FM(Nr);
QuenchTemp=round(TempField(1));
TemperTemp='N/A';
end
if AirCool_checkboxStatus==1
Bi=hAir*DeltaR/kcon;
B=[(2*Fo*Bi*AirTemp),zeros(1,Nr-1)];
N(1,1)=(1+(2*Fo)+(2*Fo*Bi));
count=0;
TempPrev=TempField;
MarTemp=TempField;
%while TempField(Nr)> 5*AirTemp
for g=1:AirTime
b=(QuenchTime/DeltaT)+count;
count=count+1;
TemperTemp1=TempField(1);
Xfprev=Xf;
Xmprev=Xm;
FMprev=FM;
if SteelType_PopupmenuStatus==1
D=bsxfun(@rdivide,DeltaT,(interp1(PearliteStartTemp,PearliteStartTime,TempFie
ld)));
end
if SteelType_PopupmenuStatus==2
D=bsxfun(@rdivide,DeltaT,(interp1(FerriteStartTemp,FerriteStartTime,TempField
)));
end
if SteelType_PopupmenuStatus==3
D=bsxfun(@rdivide,DeltaT,(interp1(FerriteStartTemp,FerriteStartTime,TempField
)));
end
RepNaN=isnan(D);
D(RepNaN)=0;
Scheils=Scheils+D;
DeltaHf=(1.082*10^2)-(0.162*(TempField+273))+((1.118*10^4)*(bsxfun(@power,(TempField+273),2)))-((3*10^8)*(bsxfun(@power,(TempField+273),3)))(bsxfun(@rdivide,3.501*10^4,(TempField+273)));
DeltaHp=(1.56*10^9)-((1.5*10^6)*TempField);
for j=1:Nr
if Scheils(j)>=1
Scheils(j)=1;
else

79

Scheils(j)=Scheils(j);
end
end
if SteelType_PopupmenuStatus==1
Ff=0;
else
[Ff]=FerriteGrowth(FerriteStartTemp,FerriteStartTime,TempField,PearliteStartT
emp,PearliteStartTime,DeltaT,k,Nr,MartensiteStartTemp,Scheils,Carbon,Ff,Steel
Type_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper);
end
Xf=bsxfun(@times,FerriteMax(TempField,Carbon,Nr),Ff);

[Fm]=PearliteGrowth2(PearliteStartTemp,PearliteStartTime,TempField,PearliteFi
nishTemp,PearliteFinishTime,DeltaT,k,Nr,MartensiteStartTemp,Scheils,Fm,SteelT
ype_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper,PearliteSta
rtTempLower,PearliteStartTimeLower);
Xm=bsxfun(@times,(1-Xf),Fm);
%only calculate MartForm if temp has droped below previous
%MartForm temp
for n=1:Nr
if ((TempField(n)<TempPrev(n))&&(TempField(n)<MarTemp(n)))
[FM]=MartForm(Nr,TempField,Xm,FM,MartensiteStartTemp,Xf);
end
end
[DeltaXf,DeltaXm,DeltaFM]=DeltaPhase(Nr,Xf,Xfprev,Xm,Xmprev,FM,FMprev);
if DeltaFM>0 %only form martensite if a new low temp has been
reached
MarTemp=TempField;
end
Xa=1-Xf-Xm-FM;
%Calculate the change in temp due to latent heat generation
%Ferrite
DHFf=bsxfun(@times,DeltaHf,DeltaXf);
Qdotf=bsxfun(@rdivide,DHFf,DeltaT);
TempQf=bsxfun(@rdivide,Qdotf,(density*Cp))*DeltaT;
%Pearlite
DHFm=bsxfun(@times,DeltaHp,DeltaXm);
Qdotm=bsxfun(@rdivide,DHFm,DeltaT);
TempQm=bsxfun(@rdivide,Qdotm,(density*Cp))*DeltaT;
%Martensite
DHFmM=DeltaFM*DeltaHM;
QdotM=bsxfun(@rdivide,DHFmM,DeltaT);
TempQM=bsxfun(@rdivide,QdotM,(density*Cp))*DeltaT;
TempField=TempField+TempQf+TempQm+TempQM;
C=TempField+B';
TempField=N\C;

80

TempPrev=TempField;
TemperTemp2=TempField(1);
if TemperTemp2>TemperTemp1
TemperTemp=round(TemperTemp2);
end
timeplot(1)=0;
timeplot(b+1)=DeltaT*b;
tempplot1(b+1)=TempField(1);
tempplot2(b+1)=TempField(Nr);
%collects the fractions of phases formed at each time step in the form of a
%vector which is later used to plot against time
Ffplot1(k+1)=Xf(1);
FfplotNr(k+1)=Xf(Nr);
Fmplot1(b+1)=Xm(1);
FmplotNr(b+1)=Xm(Nr);
FMplot1(b+1)=FM(1);
FMplotNr(b+1)=FM(Nr);
end
end
end
%ouputs the % of each phase to the appropriate text boxes
BarRad=BarDia/2;
w=BarRad/(Nr-1);
AreaNi=zeros(1,Nr);
AreaN1=pi*(w/2)^2;
AreaNR=(pi*BarRad^2)-(pi*(BarRad-(w/2))^2);
AreaNi(1)=AreaN1;
AreaNi(Nr)=AreaNR;
for k=2:(Nr-1)
AreaNi(k)=(pi*(((k-1)*w)+w/2)^2)-(pi*(((k-2)*w)+w/2)^2);
end
AreaR=pi*BarRad^2;
AreaRatio=bsxfun(@rdivide,AreaNi,AreaR);
TotAustenite=round(AreaRatio*Xa*100);
TotFerrite=round(AreaRatio*Xf*100); % * by 100 to convert to percent format
TotPearlite=round(AreaRatio*Xm*100);
TotMartensite=round(AreaRatio*FM*100);
OutAustenite=num2str(TotAustenite);
OutFerrite=num2str(TotFerrite);
OutPearlite=num2str(TotPearlite);
OutMartensite=num2str(TotMartensite);
set(handles.output_AusteniteText,'String',OutAustenite);
set(handles.output_FerriteText,'String',OutFerrite);
set(handles.output_PearliteText,'String',OutPearlite);
set(handles.output_MartensiteText,'String',OutMartensite);
OutQuenchTemp=num2str(QuenchTemp);
set(handles.output_QuenchTempText,'String',OutQuenchTemp);
OutTemperTemp=num2str(TemperTemp);
set(handles.output_TemperTempText,'String',OutTemperTemp);

hold(handles.PhaseFormation_axes);
if FFormPlot_checkboxStatus==1 && SCPlot_checkboxStatus==1
plot(handles.PhaseFormation_axes,timeplot,Ffplot1,':b');

81

end
if FFormPlot_checkboxStatus==1 && CenCPlot_checkboxStatus==1
plot(handles.PhaseFormation_axes,timeplot,FfplotNr,':r');
end
if PFormPlot_checkboxStatus==1 && SCPlot_checkboxStatus==1
plot(handles.PhaseFormation_axes,timeplot,Fmplot1,'-b');
end
if PFormPlot_checkboxStatus==1 && CenCPlot_checkboxStatus==1
plot(handles.PhaseFormation_axes,timeplot,FmplotNr,'-r');
end
if MFormPlot_checkboxStatus==1 && SCPlot_checkboxStatus==1
plot(handles.PhaseFormation_axes,timeplot,FMplot1,'--b');
end
if MFormPlot_checkboxStatus==1 && CenCPlot_checkboxStatus==1
plot(handles.PhaseFormation_axes,timeplot,FMplotNr,'--r');
end
title(handles.PhaseFormation_axes,'Phase Formation');
xlabel(handles.PhaseFormation_axes,'Time [sec]');
ylabel(handles.PhaseFormation_axes,'Phase Proportion');
hold(handles.PhaseFormation_axes,'off');
%disp('DeltaHf')
%disp(DeltaHf)
%disp('DeltaHp')
%disp(DeltaHp)
%disp(DHFf)
%disp(TempQf)
%plots cooling curves on TTT curve depending on which ones have been
%selected (i.e. surface or centre)
if SteelType_PopupmenuStatus == 1
MaxTime=max(max(TimePs1080),max(TimePf1080));
x1=[DeltaT MaxTime];
y1=[MartensiteStartTemp MartensiteStartTemp];
if SCPlot_checkboxStatus==1
if SCPlot_checkboxStatus==1 && CenCPlot_checkboxStatus==1
semilogx(handles.TTTgraph_axes,TimePs1080,TempPs1080,'k',TimePf1080,TempPf1080,'-k',x1,y1,'-k',timeplot,tempplot1,'b',timeplot,tempplot2,'-r');
else
semilogx(handles.TTTgraph_axes,TimePs1080,TempPs1080,'k',TimePf1080,TempPf1080,'-k',x1,y1,'-k',timeplot,tempplot1,'-b');
end
else
if CenCPlot_checkboxStatus==1
semilogx(handles.TTTgraph_axes,TimePs1080,TempPs1080,'k',TimePf1080,TempPf1080,'-k',x1,y1,'-k',timeplot,tempplot2,'-r');
end
end
axis(handles.TTTgraph_axes,[0 100000 0 900]);
title(handles.TTTgraph_axes,'1080 TTT curve');
xlabel(handles.TTTgraph_axes,'Log Time [sec]');
ylabel(handles.TTTgraph_axes,'Temperature [\circ C]');
end
if SteelType_PopupmenuStatus == 2

82

MaxTime=max(TimePf1330);
x1=[DeltaT MaxTime];
y1=[MartensiteStartTemp MartensiteStartTemp];
semilogx(handles.TTTgraph_axes,TimeFs1330,TempFs1330,'k',TimePs1330,TempPs1330,'-k',TimePf1330,TempPf1330,'-k',x1,y1,'k',timeplot,tempplot1,'-b',timeplot,tempplot2,'-r');
axis(handles.TTTgraph_axes,[0 max(TimePf1330) 0 900]);
title(handles.TTTgraph_axes,'1330 TTT curve');
xlabel(handles.TTTgraph_axes,'Log Time [sec]');
ylabel(handles.TTTgraph_axes,'Temperature [\circ C]');
end
if SteelType_PopupmenuStatus == 3
MaxTime=max(TimePf1019);
x1=[DeltaT MaxTime];
y1=[MartensiteStartTemp MartensiteStartTemp];
semilogx(handles.TTTgraph_axes,TimeFs1019,TempFs1019,'k',TimePsU1019,TempPsU1019,'-k',TimePsL1019,TempPsL1019,'k',TimePf1019,TempPf1019,'-k',x1,y1,'-k',timeplot,tempplot1,'b',timeplot,tempplot2,'-r');
axis(handles.TTTgraph_axes,[0.5 max(TimePf1019) 0.5 900]);
title(handles.TTTgraph_axes,'1019 TTT curve');
xlabel(handles.TTTgraph_axes,'Log Time [sec]');
ylabel(handles.TTTgraph_axes,'Temperature [\circ C]');
end
%else
%
MaxTime=max(TimePf1330);
%
x1=[DeltaT MaxTime];
%
y1=[MartensiteStartTemp MartensiteStartTemp];
%
semilogx(handles.TTTgraph_axes,TimeFs1330,TempFs1330,'k',TimePs1330,TempPs1330,'-k',TimePf1330,TempPf1330,'-k',x1,y1,'k',timeplot,tempplot1,'-b',timeplot,tempplot2,'-r');
%
axis(handles.TTTgraph_axes,[0 max(TimePf1330) 0 900]);
%
title(handles.TTTgraph_axes,'1330 TTT curve');
%
xlabel(handles.TTTgraph_axes,'Log Time [sec]');
%
ylabel(handles.TTTgraph_axes,'Temperature [\circ C]');
%end
guidata(hObject, handles); %updates the handles

% --- Executes on button press in clearPlots_pushbutton.


function clearPlots_pushbutton_Callback(hObject, eventdata, handles)
% hObject
handle to clearPlots_pushbutton (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
%these two lines of code clears both axes
cla(handles.PhaseFormation_axes,'reset')
cla(handles.TTTgraph_axes,'reset')
%adds the labels back to PhaseFormation_axes
title(handles.PhaseFormation_axes,'Phase Formation');
xlabel(handles.PhaseFormation_axes,'Time [sec]');
ylabel(handles.PhaseFormation_axes,'Phase Proportion');
%adds the labels back to TTTgraph_axes
axes(handles.TTTgraph_axes);

83

set(gca,'XScale','log');
axis(handles.TTTgraph_axes,[0.1 100000 0 900]);
title(handles.TTTgraph_axes,'1080 TTT curve');
xlabel(handles.TTTgraph_axes,'Log Time [sec]');
ylabel(handles.TTTgraph_axes,'Temperature [\circ C]');

guidata(hObject, handles); %updates the handles


function input_BarDiaText_Callback(hObject, eventdata, handles)
% hObject
handle to input_BarDiaText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
input=str2num(get(hObject,'String'));
if (isempty(input))
set(hObject,'String','0')
end
guidata(hObject,handles);
% Hints: get(hObject,'String') returns contents of input_BarDiaText as text
%
str2double(get(hObject,'String')) returns contents of
input_BarDiaText as a double

% --- Executes during object creation, after setting all properties.


function input_BarDiaText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to input_BarDiaText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function input_InitialBarTempText_Callback(hObject, eventdata, handles)


% hObject
handle to input_InitialBarTempText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
input=str2num(get(hObject,'String'));
if (isempty(input))
set(hObject,'String','0')
end
guidata(hObject,handles);
% Hints: get(hObject,'String') returns contents of input_InitialBarTempText
as text
%
str2double(get(hObject,'String')) returns contents of
input_InitialBarTempText as a double

% --- Executes during object creation, after setting all properties.


function input_InitialBarTempText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to input_InitialBarTempText (see GCBO)

84

% eventdata
% handles

reserved - to be defined in a future version of MATLAB


empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.


%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function input_WaterTempText_Callback(hObject, eventdata, handles)


% hObject
handle to input_WaterTempText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
input=str2num(get(hObject,'String'));
if (isempty(input))
set(hObject,'String','0')
end
guidata(hObject,handles);
% Hints: get(hObject,'String') returns contents of input_WaterTempText as
text
%
str2double(get(hObject,'String')) returns contents of
input_WaterTempText as a double

% --- Executes during object creation, after setting all properties.


function input_WaterTempText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to input_WaterTempText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function input_hText_Callback(hObject, eventdata, handles)


% hObject
handle to input_hText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
input=str2num(get(hObject,'String'));
if (isempty(input))
set(hObject,'String','0')
end
guidata(hObject,handles);
% Hints: get(hObject,'String') returns contents of input_hText as text
%
str2double(get(hObject,'String')) returns contents of input_hText as
a double

% --- Executes during object creation, after setting all properties.


function input_hText_CreateFcn(hObject, eventdata, handles)

85

% hObject
% eventdata
% handles

handle to input_hText (see GCBO)


reserved - to be defined in a future version of MATLAB
empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.


%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% --- Executes on button press in HeatGen_checkbox.


function HeatGen_checkbox_Callback(hObject, eventdata, handles)
% hObject
handle to HeatGen_checkbox (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
%checkboxStatus = 0, if the box is unchecked,
%checkboxStatus = 1, if the box is checked
checkboxStatus = get(handles.HeatGen_checkbox,'Value');
guidata(hObject,handles);
% Hint: get(hObject,'Value') returns toggle state of HeatGen_checkbox

function input_hAirText_Callback(hObject, eventdata, handles)


% hObject
handle to input_hAirText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
input=str2num(get(hObject,'String'));
if (isempty(input))
set(hObject,'String','0')
end
guidata(hObject,handles);
% Hints: get(hObject,'String') returns contents of input_hAirText as text
%
str2double(get(hObject,'String')) returns contents of input_hAirText
as a double

% --- Executes during object creation, after setting all properties.


function input_hAirText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to input_hAirText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% --- Executes on button press in AirCool_checkbox.


function AirCool_checkbox_Callback(hObject, eventdata, handles)
% hObject
handle to AirCool_checkbox (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB

86

% handles
structure with handles and user data (see GUIDATA)
AirCool_checkboxStatus = get(handles.AirCool_checkbox,'Value');
guidata(hObject,handles);
% Hint: get(hObject,'Value') returns toggle state of AirCool_checkbox

function input_AirTempText_Callback(hObject, eventdata, handles)


% hObject
handle to input_AirTempText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
input=str2num(get(hObject,'String'));
if (isempty(input))
set(hObject,'String','0')
end
guidata(hObject,handles);
% Hints: get(hObject,'String') returns contents of input_AirTempText as text
%
str2double(get(hObject,'String')) returns contents of
input_AirTempText as a double

% --- Executes during object creation, after setting all properties.


function input_AirTempText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to input_AirTempText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function output_FerriteText_Callback(hObject, eventdata, handles)


% hObject
handle to output_FerriteText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of output_FerriteText as text
%
str2double(get(hObject,'String')) returns contents of
output_FerriteText as a double

% --- Executes during object creation, after setting all properties.


function output_FerriteText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to output_FerriteText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

87

function output_PearliteText_Callback(hObject, eventdata, handles)


% hObject
handle to output_PearliteText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of output_PearliteText as
text
%
str2double(get(hObject,'String')) returns contents of
output_PearliteText as a double

% --- Executes during object creation, after setting all properties.


function output_PearliteText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to output_PearliteText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function output_BainiteText_Callback(hObject, eventdata, handles)


% hObject
handle to output_BainiteText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of output_BainiteText as text
%
str2double(get(hObject,'String')) returns contents of
output_BainiteText as a double

% --- Executes during object creation, after setting all properties.


function output_BainiteText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to output_BainiteText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function output_MartensiteText_Callback(hObject, eventdata, handles)


% hObject
handle to output_MartensiteText (see GCBO)

88

% eventdata
% handles

reserved - to be defined in a future version of MATLAB


structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of output_MartensiteText as


text
%
str2double(get(hObject,'String')) returns contents of
output_MartensiteText as a double

% --- Executes during object creation, after setting all properties.


function output_MartensiteText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to output_MartensiteText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function output_QuenchTempText_Callback(hObject, eventdata, handles)


% hObject
handle to output_QuenchTempText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of output_QuenchTempText as
text
%
str2double(get(hObject,'String')) returns contents of
output_QuenchTempText as a double

% --- Executes during object creation, after setting all properties.


function output_QuenchTempText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to output_QuenchTempText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function output_TemperTempText_Callback(hObject, eventdata, handles)


% hObject
handle to output_TemperTempText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of output_TemperTempText as
text

89

%
str2double(get(hObject,'String')) returns contents of
output_TemperTempText as a double

% --- Executes during object creation, after setting all properties.


function output_TemperTempText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to output_TemperTempText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% --- Executes on button press in PFormPlot_checkbox.


function PFormPlot_checkbox_Callback(hObject, eventdata, handles)
% hObject
handle to PFormPlot_checkbox (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
PFormPlot_checkboxStatus = get(handles.PFormPlot_checkbox,'Value');
guidata(hObject,handles);
% Hint: get(hObject,'Value') returns toggle state of PFormPlot_checkbox

% --- Executes on button press in SCPlot_checkbox.


function SCPlot_checkbox_Callback(hObject, eventdata, handles)
% hObject
handle to SCPlot_checkbox (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
SCPlot_checkboxStatus = get(handles.SCPlot_checkbox,'Value');
guidata(hObject,handles);
% Hint: get(hObject,'Value') returns toggle state of SCPlot_checkbox

% --- Executes on button press in CenCPlot_checkbox.


function CenCPlot_checkbox_Callback(hObject, eventdata, handles)
% hObject
handle to CenCPlot_checkbox (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
CenCPlot_checkboxStatus = get(handles.CenCPlot_checkbox,'Value');
guidata(hObject,handles);
% Hint: get(hObject,'Value') returns toggle state of CenCPlot_checkbox

function input_AirTimeText_Callback(hObject, eventdata, handles)


% hObject
handle to input_AirTimeText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
input=str2num(get(hObject,'String'));
if (isempty(input))
set(hObject,'String','0')
end

90

guidata(hObject,handles);
% Hints: get(hObject,'String') returns contents of input_AirTimeText as text
%
str2double(get(hObject,'String')) returns contents of
input_AirTimeText as a double

% --- Executes during object creation, after setting all properties.


function input_AirTimeText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to input_AirTimeText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function input_CarbonText_Callback(hObject, eventdata, handles)


% hObject
handle to input_CarbonText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of input_CarbonText as text
%
str2double(get(hObject,'String')) returns contents of
input_CarbonText as a double

% --- Executes during object creation, after setting all properties.


function input_CarbonText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to input_CarbonText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function input_MnText_Callback(hObject, eventdata, handles)


% hObject
handle to input_MnText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of input_MnText as text
%
str2double(get(hObject,'String')) returns contents of input_MnText
as a double

% --- Executes during object creation, after setting all properties.

91

function input_MnText_CreateFcn(hObject,
% hObject
handle to input_MnText (see
% eventdata reserved - to be defined in
% handles
empty - handles not created

eventdata, handles)
GCBO)
a future version of MATLAB
until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.


%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function input_SiText_Callback(hObject, eventdata, handles)


% hObject
handle to input_SiText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of input_SiText as text
%
str2double(get(hObject,'String')) returns contents of input_SiText
as a double

% --- Executes during object creation, after setting all properties.


function input_SiText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to input_SiText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% --- Executes on button press in MFormPlot_checkbox.


function MFormPlot_checkbox_Callback(hObject, eventdata, handles)
% hObject
handle to MFormPlot_checkbox (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
MFormPlot_checkboxStatus = get(handles.MFormPlot_checkbox,'Value');
guidata(hObject,handles);
% Hint: get(hObject,'Value') returns toggle state of MFormPlot_checkbox

function input_NrText_Callback(hObject, eventdata, handles)


% hObject
handle to input_NrText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
input=str2num(get(hObject,'String'));
guidata(hObject,handles);
% Hints: get(hObject,'String') returns contents of input_NrText as text

92

%
str2double(get(hObject,'String')) returns contents of input_NrText
as a double

% --- Executes during object creation, after setting all properties.


function input_NrText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to input_NrText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% --- Executes on selection change in input_SteelTypePopupmenu.


function input_SteelTypePopupmenu_Callback(hObject, eventdata, handles)
% hObject
handle to input_SteelTypePopupmenu (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
SteelType_PopupmenuStatus = get(handles.input_SteelTypePopupmenu,'Value');
guidata(hObject,handles);
% Hints: contents = cellstr(get(hObject,'String')) returns
input_SteelTypePopupmenu contents as cell array
%
contents{get(hObject,'Value')} returns selected item from
input_SteelTypePopupmenu

% --- Executes during object creation, after setting all properties.


function input_SteelTypePopupmenu_CreateFcn(hObject, eventdata, handles)
% hObject
handle to input_SteelTypePopupmenu (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: popupmenu controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function input_TimeStepText_Callback(hObject, eventdata, handles)


% hObject
handle to input_TimeStepText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
input=str2num(get(hObject,'String'));
if (isempty(input))
set(hObject,'String','0')
end
guidata(hObject,handles);

93

% Hints: get(hObject,'String') returns contents of input_TimeStepText as text


%
str2double(get(hObject,'String')) returns contents of
input_TimeStepText as a double

% --- Executes during object creation, after setting all properties.


function input_TimeStepText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to input_TimeStepText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% --- Executes on button press in FFormPlot_checkbox.


function FFormPlot_checkbox_Callback(hObject, eventdata, handles)
% hObject
handle to FFormPlot_checkbox (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
FFormPlot_checkboxStatus = get(handles.FFormPlot_checkbox,'Value');
guidata(hObject,handles);
% Hint: get(hObject,'Value') returns toggle state of FFormPlot_checkbox

function output_AusteniteText_Callback(hObject, eventdata, handles)


% hObject
handle to output_AusteniteText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of output_AusteniteText as
text
%
str2double(get(hObject,'String')) returns contents of
output_AusteniteText as a double

% --- Executes during object creation, after setting all properties.


function output_AusteniteText_CreateFcn(hObject, eventdata, handles)
% hObject
handle to output_AusteniteText (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
%
See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

94

Appendix 5: Ferrite Growth Function


function [ Ff ] = FerriteGrowth(
FerriteStartTemp,FerriteStartTime,TempField,PearliteStartTemp,PearliteStartTi
me,DeltaT,k,Nr,Ms,Scheils,Carbon,Ff,SteelType_PopupmenuStatus,PearliteStartTe
mpUpper,PearliteStartTimeUpper )
%This function calculates the % of ferrite formed at each node
ts=interp1(FerriteStartTemp,FerriteStartTime,TempField);
ElapsedTime=DeltaT*k;
if SteelType_PopupmenuStatus==3
tf=interp1(PearliteStartTempUpper,PearliteStartTimeUpper,TempField);
MaxTTTtemp=max(PearliteStartTempUpper);
else
tf=interp1(PearliteStartTemp,PearliteStartTime,TempField);
MaxTTTtemp=max(PearliteStartTemp);
end
for j=1:Nr
if ((TempField(j)>Ms) && (TempField(j)<=MaxTTTtemp) && (Scheils(j)>=1) &&
(ts(j)<=ElapsedTime))
B=(reallog(reallog(0.995)/reallog(0.005)))/(reallog(ts(j)/tf(j)));
A=(-reallog(0.995))*((ts(j))^(-B));
tj=DeltaT+((reallog(1/(1-Ff(j)))/A)^(1/B));
Ff(j)=1-exp(-A*tj^B);
else
Ff(j)=Ff(j);
end
end

end

95

Appendix 6: Max Ferrite Function


function [ Xfmax ] = FerriteMax( TempField,Carbon,Nr )
%This function calculates the maximum proeutectoid ferrite that can form
%by applying the lever rule to the Fe-Fe3C phase diagram
A3=zeros(1,Nr)';
Alpha=zeros(1,Nr)';
A1=727;
for j=1:Nr
if TempField(j)>=A1
A3(j)=-6.02*10^-3*TempField(j)+6.76;
Alpha(j)=-1.06*10^-4*TempField(j)+0.126;
else
A3(j)=-6.02*10^-3*A1+6.76;
Alpha(j)=-1.06*10^-4*A1+0.126;
end
end
XfmaxDenominator=A3-Carbon;
XfmaxNumerator=A3-Alpha;
Xfmax=bsxfun(@rdivide,XfmaxDenominator,XfmaxNumerator);
end

96

Appendix 7: Pearlite Growth Function


function [ Fp,ts,ElapsedTime ] = PearliteGrowth2(
Temp,LogTime,TempField,Temp1,LogTime1,DeltaT,k,Nr,Ms,Scheils,Fp,SteelType_Pop
upmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper,PearliteStartTempL
ower,PearliteStartTimeLower )
%This function calculates the % of Pearlite formed at each node
if SteelType_PopupmenuStatus==1 || SteelType_PopupmenuStatus==2
ts=interp1(Temp,LogTime,TempField);
tf=interp1(Temp1,LogTime1,TempField);
MaxTTTtemp=min(max(Temp),max(Temp1));
ElapsedTime=DeltaT*k;
for j=1:Nr
if ((TempField(j)>Ms) && (TempField(j)<=MaxTTTtemp) &&
(Scheils(j)>=1) && (ts(j)<=ElapsedTime))
B=(reallog(reallog(0.995)/reallog(0.005)))/(reallog(ts(j)/tf(j)));
A=(-reallog(0.995))*((ts(j))^(-B));
tj=DeltaT+((reallog(1/(1-Fp(j)))/A)^(1/B));
Fp(j)=1-exp(-A*tj^B);
else
Fp(j)=Fp(j);
end
end
end
if SteelType_PopupmenuStatus==3
tsU=interp1(PearliteStartTempUpper,PearliteStartTimeUpper,TempField);
%tsL=interp1(PearliteStartTempLower,PearliteStartTimeLower,TempField);
tf=interp1(Temp1,LogTime1,TempField);
MaxTTTtemp=min(max(PearliteStartTempUpper),max(Temp1));
ElapsedTime=DeltaT*k;
for j=1:Nr
if ((TempField(j)>Ms) && (TempField(j)<=MaxTTTtemp) &&
(Scheils(j)>=1))
if TempField(j)>=582.52 && tsU(j)<=ElapsedTime
B=(reallog(reallog(0.995)/reallog(0.005)))/(reallog(tsU(j)/tf(j)));
A=(-reallog(0.995))*((tsU(j))^(-B));
tj=DeltaT+((reallog(1/(1-Fp(j)))/A)^(1/B));
Fp(j)=1-exp(-A*tj^B);
end
if TempField(j)<582.52 && TempField(j)>=479.73
B=(reallog(reallog(0.995)/reallog(0.005)))/(reallog(0.1/tf(j)));
A=(-reallog(0.995))*(0.1^(-B));
tj=DeltaT+((reallog(1/(1-Fp(j)))/A)^(1/B));
Fp(j)=1-exp(-A*tj^B);
end
else
Fp(j)=Fp(j);
end
end
end

97

Appendix 8: Martensite Growth Function


function [ FM ] = MartForm( Nr,TempField,Xm,FM,Ms,Xf )
%This function calculates the % of Martensite formed at each node
const=0.011;
for j=1:Nr
if TempField(j)<=226
FM(j)=(1-exp(-const*(Ms-TempField(j))))*(1-(Xm(j)+Xf(j)));
else
FM(j)=FM(j);
end

end

98

Appendix 9: DeltaPhase Function


function [ DeltaXf,DeltaXm,DeltaFM] = DeltaPhase(
Nr,Xf,Xfprev,Xm,Xmprev,FM,FMprev )
%This function calculates the change in % phase formed from one time step
%to the next which is used find the incremental latent heat generated
DeltaXf=zeros(1,Nr)';
DeltaXm=zeros(1,Nr)';
DeltaFM=zeros(1,Nr)';
for n=1:Nr
% change in % pearlite
if Xm(n)==Xmprev(n)
DeltaXm(n)=0;
else
DeltaXm(n)=Xm(n)-Xmprev(n);
end
% change in % martensite
if FM(n)~=FMprev(n)
DeltaFM(n)=FM(n)-FMprev(n);
else
DeltaFM(n)=0;
end
% change in % ferrite
if Xf(n)~=Xfprev(n)
DeltaXf(n)=Xf(n)-Xfprev(n);
else
DeltaXf(n)=0;
end
end

99

Appendix 10: Carbon Equivalent Equations


Country

Standard

US

ASTM A 706

Canada

CAN/CSA-G30.18

Australia/NZD

AS/NZS 4671

Japan

JIS G 3112

Germany

EN 10080

Carbon Equivalent Equation (C.E.)


= % +
= % +
= % +
= % +
= % +

% % % % % %
+
+
+

6
40
20
10
50
10
% % % % % %
+
+
+

6
40
20
10
50
10
% % + % + % % + %
+
+
6
5
15
%
6

% % + % + % % + %
+
+
6
5
15