Upload
nguyenlien
View
222
Download
5
Embed Size (px)
Citation preview
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
ii
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.
iii
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.
iv
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
v
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 Scheil’s 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
vi
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
vii
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
viii
Table 7.1 Comparison of ASTM A 706 requirements and experimental results .......................... 61
ix
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
x
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
xi
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
1
1 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 material’s weldability [5]. It
2
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).
3
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.
4
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
5
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
6
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 Institute’s 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.
7
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 country’s
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].
2 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
8
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.
3 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.
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
•Infinite Cylinder•One-dimensional
Microstructal Evolution
•Diffusional Transformation (Ferrite, Pearlite, Bainite)•Avrami Equation•Additivity Principle
•Diffusionless Transformation (Martensite)•Koistinen & Marburger
QST Model
Finite Difference Method
9
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.
Figure 3.2One-dimensional heat transfer in infinite cylinder
The overall behavior of the system can be expressed using the conservation of energy:
��𝐸𝑡𝑡 = ��𝐸𝑖𝑖𝑖𝑖 − ��𝐸𝑜𝑜𝑜𝑜𝑡𝑡 + ��𝐸𝑔𝑔
Where Et is the rate of change of thermal energy being stored in the bar, Ein and Eout 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 Fourier’s 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.
∞∞
R
𝜕𝜕(𝑟𝑟, 0) = 𝜕𝜕𝑜𝑜
𝑞𝑞𝑜𝑜𝑜𝑜𝑡𝑡 (𝑅𝑅, 𝑡𝑡) = ℎ(𝜕𝜕 − 𝜕𝜕∞)
10
Surface: �−𝑘𝑘 𝜕𝜕𝜕𝜕𝜕𝜕𝑟𝑟�𝑟𝑟=𝑅𝑅
= ℎ[𝜕𝜕(𝑅𝑅, 𝑡𝑡) − 𝜕𝜕∞]
Where 𝜕𝜕∞ is the temperature of the adjacent fluid and h is the convection
coefficient.
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
Fourier’s 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:
𝑓𝑓′(𝑎𝑎) = limℎ→0
𝑓𝑓(𝑎𝑎 + ℎ) − 𝑓𝑓(𝑎𝑎)ℎ
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. Forward Difference: ∆𝑓𝑓(𝑥𝑥) = 𝑓𝑓(𝑥𝑥 + ℎ) − 𝑓𝑓(𝑥𝑥)
2. Backward Difference: ∆𝑓𝑓(𝑥𝑥) = 𝑓𝑓(𝑥𝑥) − 𝑓𝑓(𝑥𝑥 − ℎ)
3. Central Difference: ∆𝑓𝑓(𝑥𝑥) = 𝑓𝑓 �𝑥𝑥 + 12ℎ� − 𝑓𝑓(𝑥𝑥 − 1
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
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: (1 + 2𝐹𝐹𝑜𝑜 + 2𝐹𝐹𝑜𝑜𝐹𝐹𝑖𝑖)𝜕𝜕0𝑝𝑝+1 − 2𝐹𝐹𝑜𝑜𝜕𝜕1
𝑝𝑝+1 = 2𝐹𝐹𝑜𝑜𝐹𝐹𝑖𝑖𝜕𝜕∞ + 𝜕𝜕0𝑝𝑝
Internal Node: −𝐹𝐹𝑜𝑜𝜕𝜕𝑖𝑖−1𝑝𝑝+1 + (1 + 2𝐹𝐹𝑜𝑜)𝜕𝜕𝑖𝑖𝑃𝑃+1 − 𝐹𝐹𝑜𝑜𝜕𝜕𝑖𝑖+1
𝑝𝑝+1 = 𝜕𝜕𝑖𝑖𝑝𝑝
Central Node: −2𝐹𝐹𝑜𝑜𝜕𝜕𝑁𝑁𝑟𝑟−1𝑝𝑝+1 + (1 + 2𝐹𝐹𝑜𝑜)𝜕𝜕𝑁𝑁𝑟𝑟
𝑝𝑝+1 = 𝜕𝜕𝑁𝑁𝑟𝑟𝑝𝑝
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: 𝐹𝐹𝑜𝑜 = 𝛼𝛼∆𝑡𝑡∆𝑟𝑟2
And Bi is known as the Biot number: 𝐹𝐹𝑖𝑖 = ℎ∆𝑟𝑟𝑘𝑘
ΔrCENTRE SURFACE
Δr/2Δr/2NODES
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:
⎣⎢⎢⎢⎢⎡ 𝜕𝜕0
𝑝𝑝+1
𝜕𝜕1𝑝𝑝+1
⋮𝜕𝜕𝑁𝑁𝑟𝑟−1𝑝𝑝+1
𝜕𝜕𝑁𝑁𝑟𝑟𝑝𝑝+1 ⎦
⎥⎥⎥⎥⎤
=
⎣⎢⎢⎢⎡(1 + 2𝐹𝐹𝑜𝑜 + 2𝐹𝐹𝑜𝑜𝐹𝐹𝑖𝑖) −2𝐹𝐹𝑜𝑜 0 0 0
−𝐹𝐹𝑜𝑜 (1 + 2𝐹𝐹𝑜𝑜) −𝐹𝐹𝑜𝑜 0 00 ⋱ ⋱ ⋱ 00 0 ⋱ ⋱ ⋱0 0 0 −2𝐹𝐹𝑜𝑜 (1 + 2𝐹𝐹𝑜𝑜)⎦
⎥⎥⎥⎤−1
⎣⎢⎢⎢⎢⎡(2𝐹𝐹𝑜𝑜𝐹𝐹𝑖𝑖𝜕𝜕∞) + 𝜕𝜕0
𝑝𝑝
𝜕𝜕1𝑝𝑝
⋮𝜕𝜕𝑁𝑁𝑟𝑟−1𝑝𝑝
𝜕𝜕𝑁𝑁𝑟𝑟𝑝𝑝 ⎦
⎥⎥⎥⎥⎤
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 Johnson-
Mehl-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
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.
Figure 3.5 Approximating a Cooling Curve Using Isothermal Steps
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.01 0.1 1 10 100
Volu
me F
ract
ion
Time (sec)
Tem
pera
ture
Time
TTT curve
Cooling curve
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.
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
The rate of transformation changes with temperature
Segments showing amount of phase transformed in each time step
Time
Vo
lum
e F
ract
ion
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:
𝑡𝑡𝑗𝑗 = ∆𝑡𝑡𝑗𝑗 + �ln( 1
1 − 𝑉𝑉𝑗𝑗−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.
4 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
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
1.Input parameters
2.Calculate
temperature field
3.Calculate the
volume % of new phase formed
4.Calculate latent heat generated
6.Increment time
step
Defined time reached?
Change in temp below min criteria
5.Add increase in temperature to
temperature field
No
Yes Yes 7.End Program
No
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
User Defined Internal to Program
General Parameters
Bar diameter Initial bar temperature Water temperature Air temperature Quenching time Air cooling time Heat transfer coefficient (water) Heat transfer coefficient (air)
Model Parameters Number of nodes Time step
Material Properties (steal)
Density Specific heat Conductivity Thermal diffusivity
Isothermal Data (from TTT) Pearlite start time Pearlite finish time Martensite start time
4.2.1 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.
𝐹𝐹𝑜𝑜 = 𝛼𝛼∆𝑡𝑡∆𝑟𝑟2
𝐹𝐹𝑖𝑖 = ℎ∆𝑟𝑟𝑘𝑘
𝜕𝜕𝑟𝑟𝑖𝑖 =
⎣⎢⎢⎢⎡1 + 2𝐹𝐹𝑜𝑜 + 2𝐹𝐹𝑜𝑜𝐹𝐹𝑖𝑖 −2𝐹𝐹𝑜𝑜 0 ⋯ ⋯ ⋯ 0
−𝐹𝐹𝑜𝑜 1 + 2𝐹𝐹𝑜𝑜 −𝐹𝐹𝑜𝑜 0 ⋱ ⋱ ⋮0 ⋱ ⋱ ⋱ ⋱ ⋱ ⋮⋮ ⋱ ⋱ ⋱ −𝐹𝐹𝑜𝑜 1 + 2𝐹𝐹0 −𝐹𝐹𝑜𝑜0 ⋯ ⋯ ⋯ ⋯ −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);
% 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
The
tridiagonal
matrix is
formed
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. Scheil’s 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 Scheil’s 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,SteelType_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper,PearliteStartTempLower,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(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
%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,PearliteStartTemp,PearliteStartTime,DeltaT,k,Nr,MartensiteStartTemp,Scheils,Carbon,Ff,SteelType_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper);
Xf=bsxfun(@times,FerriteMax(TempField,Carbon,Nr),Ff);
%The pearlite growth function is then applied. [Fm]=PearliteGrowth2(PearliteStartTemp,PearliteStartTime,TempField,PearliteFinishTemp,PearliteFinishTime,DeltaT,k,Nr,MartensiteStartTemp,Scheils,Fm,SteelType_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper,PearliteStartTempLower,PearliteStartTimeLower);
%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,FMprev);
%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
5 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 P S Si Ni Cr Mo Al Cu V Nb
0.160 1.100 0.007 0.100 0.180 0.040 0.070 0.010 0.003 0.120 0.001 0.001
Table 5.2 Chemical Composition of 1" Dia. AISI 1117
C Mn P S Si Ni Cr Mo Al Cu V Nb
0.160 1.100 0.011 0.113 0.220 0.040 0.050 0.010 0.002 0.090 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 P S Si V 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.
Centre Pos. 1 Pos. 2 Pos.3
C 𝑎𝑎1 + 𝑏𝑏12
𝑎𝑎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
C a1 a2 a3
b1
b2
b3
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 G D R
3/8” Bar Stock 1 ¼ 1.000 ± 0.005 0.250 ± 0.005 3/16
1” Bar Stock 2 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 900°C, 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
Sample ID Furnace
Temp (°C) Time @ Temp
(min) Quenching Time (sec)
Samples Inserted Before Furnace Turned On (Y/N)
Q1 900 45 Full (5mins) Y
Q2 900 45 Full (5mins) Y
A1 900 45 0 (air cooled) Y
Notes: - 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
Sample ID Furnace
Temp (°C) Time @ Temp
(min) Quenching Time (sec)
Samples Inserted Before Furnace Turned On (Y/N)
Q3 900 20 Full (5mins) N
Q4 900 20 Full (5mins) N
Q5 900 20 3 N
A2 900 20 0 (air cooled) N
Notes: - 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
Sample ID Furnace
Temp (°C) Time @ Temp
(min) Quenching Time (sec)
Samples Inserted Before Furnace Turned On (Y/N)
Q6 900 20 30 N
Q7 900 20 15 N
Notes: - 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
Sample ID Furnace
Temp (°C) Time @ Temp
(min) Quenching Time (sec)
Samples Inserted Before Furnace Turned On (Y/N)
10.1 900 20 10 N
10.2 900 20 10 N
15.1 900 20 15 N
15.2 900 20 15 N
30.1 900 20 30 N
30.2 900 20 30 N
A.1 900 20 0 (air cooled) N
A.2 900 20 0 (air cooled) N
Full1 900 20 Full (5mins) N
Full2 900 20 Full (5mins) N
Notes: - 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 (900°C)
-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
Sample ID Furnace
Temp (°C) Time @ Temp
(min) Quenching Time (sec)
Samples Inserted Before Furnace Turned On (Y/N)
5.3 900 20 5 Y
10.3 900 20 10 Y
15.3 900 20 15 Y
30.3 900 20 30 Y
A.3 900 20 0 (air cooled) Y
5M.1 900 20 5 N
5M.2 900 20 5 N
10M.1 900 20 10 N
10M.2 900 20 10 N
15M.1 900 20 15 N
15M.2 900 20 15 N
30M.1 900 20 30 N
30M.2 900 20 30 N
AM.1 900 20 0 (air cooled) N
AM.2 900 20 0 (air cooled) N
Notes: - 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 (900°C)
-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 (900°C)
- 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
6 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 × 10−3 × 𝜕𝜕𝑇𝑇𝑇𝑇𝑝𝑝 + 6.76
𝛼𝛼 = −1.06 × 10−4 × 𝜕𝜕𝑇𝑇𝑇𝑇𝑝𝑝 + 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 727°C 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.
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
Region where there is no transformation finish data associated with start data
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
Material 1080 Steel 1080 Steel
Bar Diameter (mm) 38 38
Initial Bar Temp (°C) 850 850
Water Temp (°C) 22.5 22.5
Specific Heat Vary with temp and phase
(480 to 800)
600
Density (Kg/m3) Vary with temp and phase
(7400 to 8000)
7600
Thermal Conductivity
Coefficient (J/Kg°K)
Vary with temp and phase (10
to 50)
24
Convection Coefficient
(kW/m2K)
Vary with temp (0 to 20,000) 10,000
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 600°C. Also comparable, are the temperatures
after 100 seconds of about 100°C at the centre.
Figure 6.3 Experimental results
Figure 6.4 Model results
6.2 Experimental Results
6.2.1 Hardness Tests
6.2.1.1 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
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.
785 MPa
710 MPa
690 MPa675 MPa663 MPa
650 MPa
420 MPa
120
130
140
150
160
170
180
190
200
210
220
230
240
0 1 2 3 4 5 6 7 8 9 10
Vick
ers
Har
dene
ss
Distance from Centre [mm]
Hardness Profile of AISI 11171" samples: Exp 1
Quenched
Air Cooled
49
Figure 6.6 Vickers hardness profile from Exp. 2 & 3
6.2.2 Microstructure
6.2.2.1 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 (900°C for 45 minutes) as the quenched samples (Q1 and Q2) it represents the
pre-quenched microstructure.
0
50
100
150
200
250
300
350
400
0 0.5 1 1.5 2 2.5 3 3.5 4
Vick
ers
Har
dene
ss
Distance from Centre [mm]
Hardness Profile of AISI 11173/8" samples: Exp 2 & 3
Q7 (15sec)
Q6 (30sec)
Q5 (3sec)
Q4 (Full)
Q3 (Full)
A2 (air)
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 Tensile Test Results
6.2.3.1 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
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
Elongation 13.7% 14.2% 13.5% 37.4%
0
200
400
600
800
1000
1200
0 5 10 15 20 25 30 35 40
Engi
neer
ing
Str
ess [
MPa
]
Engineering Strain [%]
10.1
15.1
30.1
A.1
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.
Figure 6.17 AISI 1117 engineering stress-strain curves from Exp. 4: 2nd sample batch
0
200
400
600
800
1000
1200
0 5 10 15 20 25 30 35 40
Engi
neer
ing
Str
ess
[MPa
]
Engineering Strain [%]
10.2
15.230.2
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
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
Elongation 18.8% 12.4% N/A 10.5% 34.8%
0
200
400
600
800
1000
1200
0 5 10 15 20 25 30 35 40
Engi
neer
ing
Stre
ss [M
Pa]
Engineering Strain [%]
A.3
5.3
10.3
15.3
30.3
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
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
0.00
0.10
0.20
0.30
0.40
0.50
0.60
0.70
0.80
0.90
1.00
1.10
1.20
1.30
1.40
1.50
1.60
0
100
200
300
400
500
600
700
800
900
AM.1 AM.2 5M.1 5M.2 10M.1 10M.2 15M.1 15M.2 30M.1 30M.2
Tens
ile/Y
ield
Rat
io
Stre
ngth
[MPa
]
Sample
Yield Strength
Tensile Strength
TS/YS
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
7 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
8 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
9 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 Scheil’s 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 structure with handles and user data (see GUIDATA) % varargin 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,TempField))); 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,PearliteStartTemp,PearliteStartTime,DeltaT,k,Nr,MartensiteStartTemp,Scheils,Carbon,Ff,SteelType_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper); end Xf=bsxfun(@times,FerriteMax(TempField,Carbon,Nr),Ff); [Fm]=PearliteGrowth2(PearliteStartTemp,PearliteStartTime,TempField,PearliteFinishTemp,PearliteFinishTime,DeltaT,k,Nr,MartensiteStartTemp,Scheils,Fm,SteelType_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper,PearliteStartTempLower,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,TempField))); 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,PearliteStartTemp,PearliteStartTime,DeltaT,k,Nr,MartensiteStartTemp,Scheils,Carbon,Ff,SteelType_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper); end Xf=bsxfun(@times,FerriteMax(TempField,Carbon,Nr),Ff); [Fm]=PearliteGrowth2(PearliteStartTemp,PearliteStartTime,TempField,PearliteFinishTemp,PearliteFinishTime,DeltaT,k,Nr,MartensiteStartTemp,Scheils,Fm,SteelType_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper,PearliteStartTempLower,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,TempField))); 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,PearliteStartTemp,PearliteStartTime,DeltaT,k,Nr,MartensiteStartTemp,Scheils,Carbon,Ff,SteelType_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper); end Xf=bsxfun(@times,FerriteMax(TempField,Carbon,Nr),Ff); [Fm]=PearliteGrowth2(PearliteStartTemp,PearliteStartTime,TempField,PearliteFinishTemp,PearliteFinishTime,DeltaT,k,Nr,MartensiteStartTemp,Scheils,Fm,SteelType_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper,PearliteStartTempLower,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,TempField))); 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,PearliteStartTemp,PearliteStartTime,DeltaT,k,Nr,MartensiteStartTemp,Scheils,Carbon,Ff,SteelType_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper); end Xf=bsxfun(@times,FerriteMax(TempField,Carbon,Nr),Ff); [Fm]=PearliteGrowth2(PearliteStartTemp,PearliteStartTime,TempField,PearliteFinishTemp,PearliteFinishTime,DeltaT,k,Nr,MartensiteStartTemp,Scheils,Fm,SteelType_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper,PearliteStartTempLower,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 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_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 handle to input_hText (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 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 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_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, eventdata, handles) % hObject handle to input_MnText (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_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,PearliteStartTime,DeltaT,k,Nr,Ms,Scheils,Carbon,Ff,SteelType_PopupmenuStatus,PearliteStartTempUpper,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_PopupmenuStatus,PearliteStartTempUpper,PearliteStartTimeUpper,PearliteStartTempLower,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 Carbon Equivalent Equation (C.E.)
US ASTM A 706 𝐶𝐶𝐸𝐸 = %𝐶𝐶 +%𝑀𝑀𝑖𝑖
6+
%𝐶𝐶𝑜𝑜40
+ %𝑁𝑁𝑖𝑖20
+ %𝐶𝐶𝑟𝑟10
− %𝑀𝑀𝑜𝑜
50−
%𝑉𝑉10
Canada CAN/CSA-G30.18 𝐶𝐶𝐸𝐸 = %𝐶𝐶 +%𝑀𝑀𝑖𝑖
6+
%𝐶𝐶𝑜𝑜40
+ %𝑁𝑁𝑖𝑖20
+ %𝐶𝐶𝑟𝑟10
− %𝑀𝑀𝑜𝑜
50−
%𝑉𝑉10
Australia/NZD AS/NZS 4671 𝐶𝐶𝐸𝐸 = %𝐶𝐶 + %𝑀𝑀𝑖𝑖
6+
%𝐶𝐶𝑟𝑟 + %𝑀𝑀𝑜𝑜 + %𝑉𝑉5
+ %𝑁𝑁𝑖𝑖 + %𝐶𝐶𝑜𝑜
15
Japan JIS G 3112 𝐶𝐶𝐸𝐸 = %𝐶𝐶 + %𝑀𝑀𝑖𝑖
6
Germany EN 10080 𝐶𝐶𝐸𝐸 = %𝐶𝐶 + %𝑀𝑀𝑖𝑖
6+
%𝐶𝐶𝑟𝑟 + %𝑀𝑀𝑜𝑜 + %𝑉𝑉5
+ %𝑁𝑁𝑖𝑖 + %𝐶𝐶𝑜𝑜
15