C. N. Hulme-Smith
Phase Transformations Group,
Department of Materials Science and Metallurgy,
University of Cambridge,
27 Charles Babbage Road,
Cambridge, CB3 0FS, U.K.
E-mail: C. N. Hulme-Smith
Added to MAP: July 2019.
This code simulates the contribution to room temperature, static yield strength of the Peierls stress, substitutional and interstitial solid solution strengthening, precipitate-related strengthening, grain size strengthening and work hardening. It then predicts the evolution of yield stress for a given strain rate (i.e. the flow stress) at a specified temperature.
STEELFLOW was originally written under the name CaNDYFloSS (Calculator for novel design: yield and flow stress in steels) for the InnovateUK project Series production of Lightweight parts by Isostatic pressing of Metal powders to give Material and Energy Reduction (SLIMMER).
Language: | FORTRAN 2008 |
Product form: | Source code and executables compatible with Mac, Windows and Linux-based systems. |
Platform: | Linux - tested on Debian 8.0 (Jessie) and Debian 9.0 (Stretch); Mac running OSX 10.11.6 (El Capitan), MacOS 10.12 (Sierra) and OSX 10.14 (Mojave). Theoretically, any system with a modern FORTRAN compiler will be capable of executing the script by recompiling the source code using a compiler in the same operating system. During testing, executables compiled on Linux did not run on Mac and vice-versa. If your computer fails to read the input files, please check what kind of line encoding should be used. For most situations, "Unix (LF)" or "Linefeed" is appropriate. |
Complete program.
CaNDYFloSS stands for Calculator for Novel Design: Yield and Flow Stress in Steels. It uses multiple sub-models to calculate the expected static, room temperature yield stress in steels and then converts this to a stress-strain curve for a specified temperature and strain rate.
CaNDYFloSS works by calculating the contribution to strength from the following sources:
It is assumed that each of these contributions is independent of all others and that the total strength, σ, may, therefore, be found by summing the individual contributions: σ = σ0 + σC + σss + σp + σgr + σd
In order to run the program, the user must specify the properties of the material being considered. This is done in a series on input files. The default name of the main input file, which contains the names of the other input files is "config_mechmod.dat". This may be changed by editing the source code (line 36) and recompiling the program. All other settings may be changed by editing the relevant configuration file and there is no need to recompile the program.
./steelflow
Files included in the download:
atomic_masses.csv | A list of atomic masses, used to convert between wt% and at.%. |
steelflow.f08 | FORTRAN 77 source code. |
composition001.csv | Contains the composition of the matrix of the material, used to calculate solution strengthening. |
config_mechmod.dat | Input data file, containing the names of other input files, information about the system being simulated and parameters for the calculations. |
config_ppts.dat | Contains descriptions of the precipitate population(s), if any, present in the system. |
gfortran_final_compile.sh | Script containing the recommended flags for compiling the source code in the most robust manner possible and to produce the most efficient executable. |
steelflow-linux | Linux-compatible executable compiled using the source code steelflow.f08. This version contains all necessary libraries inside the executable and is, therefore, designated as "static". It should work on all Linux systems but has only been teste don Debian 8.0 (Jessie) and 9.0 (Stretch). |
steelflow-mac | Mac-compatible executable compiled using the source code steelflow.f08. This version contains all necessary libraries inside the executable and is, therefore, designated as "static". It should work on all Mac systems, but has only been tested on MacOS 10.12 Sierra. |
output_example.txt | A results file containing the output obtained when the contents of input_example.dat is used as input data. |
Follow the steps listed below to use the module:
gunzip -c MAP_STEEL_STEELFLOW.tar.gz | tar xvf -
./gfortran_final_compile.sh steelflow [output_executable_file_name]
On each line of the file named in the variable COMPFILE, containing the composition information with ELENUM solute elements (iron is assumed to be the residue of the material and is designated as the zeroth element in the matrices):
ELEMENTS(i), BULKCOMP(i), MATRIXCOMP(i)
On each line of the file named in the variable PPTFILE:
PPTNAME(j), PPTSIZE(j), PPTDENSITY(j), PPTFRAC(j), PPTSPACING(j), PPTSHAPE(j), RELEQM(j), PPTFACTOR(j), PPTBETA(j), PTDELTA(j), PPTEPSILON(j), PPTKAPPA(j), PPTBULK(j), PPTATOMVOL(j)
Each variable is written to the jth element of an array of size PPTPOPS, i.e. the number of precipitate populations in the material. It is assumed that all precipitate populations independently and additively strengthen the steel. Any precipitate populations that do not contribute significantly to the strength should not be included in this program.
STEELFLOW writes to the terminal by default, but the output may be redirected into a file using the standard Unix instruction ./[path_to_executable] > [path_to_results], for example ./[PATH TO EXECUTABLE] > results_01.txt. The program also writes a summary of the flow stress results to a named results file, with the name given by the variable RESULTSFILE and specified in config_mechmod.dat. However, there are no commands to write the output to a file.
Using the input files available from this page, the following output is obtained:
_____ _ _ ______ _ / ____| | | | ____| | | (___ | |_ ___ ___| | |__ | | _____ __ \___ \| __/ _ \/ _ \ | __| | |/ _ \ \ /\ / / ____) | || __/ __/ | | | | (_) \ V V / |_____/ \__\___|\___|_|_| |_|\___/ \_/\_/ Calculator for Novel Design: Yield and Flow Stress in Steels -------------------------------------------------------------------------------- Copyright Dr Chris Hulme-Smith University of Cambridge September 2017 -------------------------------------------------------------------------------- The Peierls (intrinsic) strength is set to 2.0 MPa. The contribution to yield strength due to grain refinement is 189.7 MPa. The defined composition is: ------------------------------------------------------- Element | wt% | at.% | mass frac. | mol. frac. --------|----------|----------|------------|----------- Fe | 69.0879 | 68.0000 | 0.690879 | 0.680000 C | 0.0437 | 0.2000 | 0.000437 | 0.002000 Ni | 8.5426 | 8.0000 | 0.085426 | 0.080000 Cr | 17.0276 | 18.0000 | 0.170276 | 0.180000 Si | 1.0219 | 2.0000 | 0.010219 | 0.020000 Mo | 0.5237 | 0.3000 | 0.005237 | 0.003000 Co | 3.7526 | 3.5000 | 0.037526 | 0.035000 ------------------------------------------------------- Strength contribution due to coherency strains is 0.0 MPa due to ppt1 Strength contribution due to coherency strains is 808.4 MPa due to ppt2 1 0.27000000000000002 3.0000000000000000 74000000000.000000 1.6679649276888289E-010 100000000000000.00 1.0000000000000000E-008 The Orowan bowing stress is 0.1E+01 MPa. for ppt1 2 0.27000000000000002 3.0000000000000000 74000000000.000000 1.6679649276888289E-010 1000000000000.0000 1.0000000000000001E-005 The Orowan bowing stress is 0.8E+00 MPa. for ppt2 The strengthening due to cutting of precipitates is NaN MPa for ppt1 The strengthening due to cutting of precipitates is NaN MPa for ppt2 ------------------------------------------------------------------------------------------------------------------------------------------ Substitutional solid solution strengthening according to model by Young, Bhadeshia, Narita et al. and Takeuchi et al. ------------------------------------------------------------------------------------------------------------------------------------------ Element | amount | Strengthening coefficient / MPa/% | Strengthening contribution / MPa | Cumulative strengthening / MPa | Unit (%) ---------|----------|--------------------------------------|----------------------------------|--------------------------------|---------- C | 0.04370 | 1725.50000 | 360.72317 | 360.72317 | mass Ni | 8.54256 | 37.00000 | 316.07488 | 676.79805 | mass Cr | 17.02755 | -30.00000 | -510.82663 | 165.97142 | mass Si | 1.02191 | 84.00000 | 85.84059 | 251.81202 | mass Mo | 0.52369 | 13.00000 | 6.80798 | 258.62000 | mass Co | 3.75264 | 0.00000 | 0.00000 | 258.62000 | none ------------------------------------------------------------------------------------------------------------------------------------------ Total substitutional solid solution stregnthening = 258.62000 MPa ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------- Substitutional solid solution strengthening according to model by Lacy ------------------------------------------------------------------------------------------------------------------------------- Element | at.% | Strengthening coefficient / MPa/at.% | Strengthening contribution / MPa | Cumulative strengthening / MPa ---------|----------|--------------------------------------|----------------------------------|-------------------------------- Fe | 68.00000 | 0.00000 | 0.00000 | 0.00000 C | 0.04370 | 1725.50000 | 360.72317 | 360.72317 Ni | 8.00000 | 20.00000 | 160.00000 | 520.72317 Cr | 18.00000 | 3.00000 | 54.00000 | 574.72317 Si | 2.00000 | 26.00000 | 52.00000 | 626.72317 Mo | 0.30000 | 13.00000 | 3.90000 | 630.62317 Co | 3.50000 | 2.30000 | 8.05000 | 638.67317 ------------------------------------------------------------------------------------------------------------------------------- Total substitutional solid solution stregnthening = 638.67317 MPa ------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------- Substitutional solid solution strengthening according to model by Leslie ------------------------------------------------------------------------------------------------------------------------------- Element | at.% | Strengthening coefficient / MPa/at.% | Strengthening contribution / MPa | Cumulative strengthening / MPa ---------|----------|--------------------------------------|----------------------------------|-------------------------------- Fe | 68.00000 | 0.00000 | 0.00000 | 0.00000 C | 0.20000 | 1725.50000 | 360.72317 | 360.72317 Ni | 8.00000 | 0.00000 | 0.00000 | 360.72317 Cr | 18.00000 | 3.60000 | 64.80000 | 425.52317 Si | 2.00000 | 0.00000 | 0.00000 | 425.52317 Mo | 0.30000 | 40.00000 | 12.00000 | 437.52317 Co | 3.50000 | 18.00000 | 63.00000 | 500.52317 ------------------------------------------------------------------------------------------------------------------------------- Total substitutional solid solution stregnthening = 500.52317 MPa ------------------------------------------------------------------------------------------------------------------------------- For ppt1 both cutting and bowing occur simultaneously. That stress is therefore taken as the precipitate strengthening mechanism. For ppt2 both cutting and bowing occur simultaneously. That stress is therefore taken as the precipitate strengthening mechanism. Total yield strength including the substitutional solid solution strengthening according to the model by Young is 1259.6 MPa. Estiated hardness is 378 HV. Total yield strength including the substitutional solid solution strengthening according to the model by Lacy is 1639.7 MPa. Estiated hardness is 492 HV. Total yield strength including the substitutional solid solution strengthening according to the model by Leslie is 1501.5 MPa. Estiated hardness is 450 HV. Activation energy for dislocation motion set to 41,840J in accordance with the value for pearlite (and used for diffusional ferrite) in Zener and Holloman, J. App. Phys. 15 (1944), p.22-32. Flow stress at 900.0 C and 0.1E-01 / s with static ambient yield stress of 1259.6 MPa is 1090.0 MPa. Flow stress at 900.0 C and 0.1E-01 / s with static ambient yield stress of 1639.7 MPa is 1418.8 MPa. Flow stress at 900.0 C and 0.1E-01 / s with static ambient yield stress of 1501.5 MPa is 1299.3 MPa. ------------------------------------------------------------------------------------------------------------------------------------- Strain | Disln density / m^(-2) | RT Strengthening / MPa | Strengthening / MPa | Yield stress / MPa | | | | Lacy | Leslie | Young/Takeuchi et al. ------------------------------------------------------------------------------------------------------------------------------------- 0.000E+00 | 0.100E+15 | 222.2 | 192.2 | 1451.9 | 1831.9 | 1693.8 0.100E-01 | 0.104E+15 | 226.8 | 196.2 | 1455.9 | 1835.9 | 1697.8 0.200E-01 | 0.108E+15 | 231.2 | 200.0 | 1459.7 | 1839.7 | 1701.6 0.300E-01 | 0.112E+15 | 235.4 | 203.7 | 1463.3 | 1843.4 | 1705.2 0.400E-01 | 0.116E+15 | 239.4 | 207.2 | 1466.8 | 1846.9 | 1708.7 0.500E-01 | 0.120E+15 | 243.3 | 210.5 | 1470.1 | 1850.2 | 1712.0 0.600E-01 | 0.124E+15 | 246.9 | 213.7 | 1473.3 | 1853.4 | 1715.2 0.700E-01 | 0.127E+15 | 250.5 | 216.7 | 1476.4 | 1856.4 | 1718.3 0.800E-01 | 0.131E+15 | 253.8 | 219.6 | 1479.3 | 1859.3 | 1721.2 0.900E-01 | 0.134E+15 | 257.0 | 222.4 | 1482.0 | 1862.1 | 1723.9 0.100E+00 | 0.137E+15 | 260.1 | 225.1 | 1484.7 | 1864.7 | 1726.6 ------------------------------------------------------------------------------------------------------------------------------------- ************** The calculated dislocation density exceeded that required for recrystallisation during the deformation.*************** All contributions to yield stress successfully modelled. SteelFlow will save all data and close all files. Goodbye! SteelFlow completed and terminated at 24/09/2017 at 23:47:16 _____ _ _ ______ _ / ____| | | | ____| | | (___ | |_ ___ ___| | |__ | | _____ __ \___ \| __/ _ \/ _ \ | __| | |/ _ \ \ /\ / / ____) | || __/ __/ | | | | (_) \ V V / |_____/ \__\___|\___|_|_| |_|\___/ \_/\_/ -------------------------------------------------------------------------------- Copyright Dr Chris Hulme-Smith University of Cambridge September 2017 --------------------------------------------------------------------------------
In the file with the name given by the variable RESULTSFILE, the flow stress is summarised. A statement is also made as to whether recrystallisation is predicted to occur, but the recrystallisation behaviour is beyond the capabilities of this model:
Strain,Dislocation density / m^(-2),RT Strengthening / MPa,Strengthening / MPa,Yield stress / MPa,, ,,,,Lacy,Leslie et al.,"Young & Bhadeshia, Takeuchi et al., etc." 0.000E+00, 0.100E+15, 222.2, 192.2,1451.9,1831.9,1693.8 0.100E-01, 0.104E+15, 226.8, 196.2,1455.9,1835.9,1697.8 0.200E-01, 0.108E+15, 231.2, 200.0,1459.7,1839.7,1701.6 0.300E-01, 0.112E+15, 235.4, 203.7,1463.3,1843.4,1705.2 0.400E-01, 0.116E+15, 239.4, 207.2,1466.8,1846.9,1708.7 0.500E-01, 0.120E+15, 243.3, 210.5,1470.1,1850.2,1712.0 0.600E-01, 0.124E+15, 246.9, 213.7,1473.3,1853.4,1715.2 0.700E-01, 0.127E+15, 250.5, 216.7,1476.4,1856.4,1718.3 0.800E-01, 0.131E+15, 253.8, 219.6,1479.3,1859.3,1721.2 0.900E-01, 0.134E+15, 257.0, 222.4,1482.0,1862.1,1723.9 0.100E+00, 0.137E+15, 260.1, 225.1,1484.7,1864.7,1726.6
The program will print out descriptive error indicators should the program execute abnormally. Each error message is unique and will provide a quick way to find the affected part of the source code.
No information supplied.
None.
composition01.dat ! name of composition file. config_ppts.dat ! name of file containing precipitate information (required even if there are no precipitates). 6 ! number of elements in composition file. 2 ! specify units of bulk composition (1=wt%, 2=at.%, 3=mass fraction, 4=molar fraction). 2 ! specify units of matrix composition (1=wt%, 2=at.%, 3=mass fraction, 4=molar fraction). atomic_masses.csv ! specify the name of the file containing the atomic masses. sol_sol_coeffs.csv ! specify the name of the file containing the coefficients contained in the expressions solid solution strengthening F ! identify the type of ferrite ("M" = martensite, "B" - bainite, "F" = other - allotriomorphic, idiomorphic, Widmsnastaetten, etc.) 1.0D-05 ! specify the effective grain size in metres. 1.4D+11 ! bulk modulus of modelled material in Pa. 1.93D+11 ! Young's modulus of modelled material in Pa. 2.7D-01 ! Poisson ratio of modelled material. 7.4D+10 ! Shear modulus of modelled material, in Pa. 3.0D+00 ! Taylor factor to be used in Orowan bowing stress calculation. 2 ! number of precipitate populations - need the correct number of lines in the file containing precipitate information: one for each population. 2.889 ! specify the effective interatomic spacing of the matrix in Angstrom. 1.2D-29 ! specify the (substitutional) atomic volume of the matrix. 9.00D+02 ! specify the temperature in Celsius to be used in the flow stress calculations. 1.0D-02 ! specify the strain rate in reciprocal seconds to be used in flow stress calculations. -4.203D+04 ! specify the activation energy for flow - a negative value leads to the use of default values from Zener and Holloman J. App. Phys. 15 (1944) p.23-33. -6.092D+01 ! specify the exponent (r in Zener and Holloman J. App. Phys. 15 (1944) p.23-33) for flow stress calculations. A negative value is reset to 0.0125, as specified in Zener and Holloman J. App. Phys. 15 (1944) p.23-33. -4.24792D+00 ! specify the strain rate used in the static yield stress measurements. A negative value leads to a default of 0.01 being used. -4.00D+02 ! specify the temperature at which the static yield stress experiments were performed. A value below absolute zero will lead to 20C being used instead. 1.0D-02 ! specify the step in strain to be used during work hardening calculations. 1.1D-02 ! specify the constant k from Bouaziz & Gueltonm Mater. Sci. Eng. A 319-321 (2001) p. 246-249, which affects the mean free path of dislocation glide. 1.0D-01 ! specify the maximum strain to be included in work hardening calculations. 4.0D-01 ! specify the factor governing how sensitive the flow stress is to dislocation density. 3.0D+00 ! specify how rapid recovery is (variable f in Bouaziz & Guelton, Mater. Sci. Eng. A 319-321 (2001) p. 246-249). 8.0D-01 ! specify the grain boundary energy (J m^(-2)) for use in recrystallisation calculation 3.5D+04 ! specify the pre-exponential factor for grain-boundary mobility (m^(4) s^(-1) J^(-1)). 3.6D+05 ! specify the activation energy for grain boundary mobility (J mol^(-1)). 2.0D+00 ! the temperature in Celsius at which shear transformations are expected in the alloy. A value mus be provided, but will not be used if the FERTYPE is set to 'F', i.e. if the ferrite that forms is from a reconstructive transformation. 4.0D+01 ! specify the Peierls stress to be used when calculating the total yield (and flow) stress. 4.6D+04 ! Effective activation energy for deformation, the original value of 46,000J (11,000 cal/gm) taken from Zener and Holloman's original paper as an average for a few steels. 3.0D+05 ! effective activation energy or recrystallisation in Joules. 1.0D+00 ! Exponent to raise the time fraction by to calculate the fraction of material that recrystallise in each timestep; n in Bombac et al. 1.0D+09 ! dislocation density of recrystallised material. 4.0D+05 ! activation energy for grain growth in Joules.In the file composition01.dat:
Element,"Bulk composition","Matrix composition" C,0.2,0.2 Ni,8,8 Cr,18,18 Si,2,2 Mo,0.3,0.3 Co,3.5,3.5In the file config_ppts.dat:
"Name [PPTNAME]" "Average size / m [PPTSIZE]" "Number density / m-3 [PPTDENSITY]" "Volume fraction of precipitates [PPTFRAC] - negative value causes the program to calculate the actual value based on other variables" "Effective interatomic spacing / m [PPTSPACING]" "Shape indicator (1=spherical; 2=cubic; 3=other) [PPTSHAPE]" "Calculate lattice mismatch? 1 = yes; any oher value = no [RELEQM]" "Shape factor - specifying spherical or cubic precipitates causes this value to be ignored otherwise it is the constant of proportionality between the cube of the radius/half-edge length and precipitate volume. For cubic precipitates the value is taken to be 8.0 and for spherical precipitates it is 4pi/3" "Cutting constant [PPTBETA]" "Linear strain of precipitation [PPTDELTA]" "Strain energy of precipitation [PPTEPSILON]" "Bowing factor [PPTKAPPA]" "Bulk modulus of precipitate / Pa [PPTBULK]" "Average atomic volume in the precipitate / m3" ppt1 0.00000001 1.00E+14 -0.36425 0 1 1 -96.3 -9.33 -63.5 0 -7.11 10000000000 0 ppt2 0.00001 1.00E+12 -5.29 0 1 1 46.6 -47200 -3.95 -98300 -4.34 20000000000 0
Strain,Dislocation density / m^(-2),RT Strengthening / MPa,Strengthening / MPa,Yield stress / MPa,, ,,,,Lacy,Leslie et al.,"Young & Bhadeshia, Takeuchi et al., etc." 0.000E+00, 0.100E+15, 222.2, 192.2,1451.9,1831.9,1693.8 0.100E-01, 0.104E+15, 226.8, 196.2,1455.9,1835.9,1697.8 0.200E-01, 0.108E+15, 231.2, 200.0,1459.7,1839.7,1701.6 0.300E-01, 0.112E+15, 235.4, 203.7,1463.3,1843.4,1705.2 0.400E-01, 0.116E+15, 239.4, 207.2,1466.8,1846.9,1708.7 0.500E-01, 0.120E+15, 243.3, 210.5,1470.1,1850.2,1712.0 0.600E-01, 0.124E+15, 246.9, 213.7,1473.3,1853.4,1715.2 0.700E-01, 0.127E+15, 250.5, 216.7,1476.4,1856.4,1718.3 0.800E-01, 0.131E+15, 253.8, 219.6,1479.3,1859.3,1721.2 0.900E-01, 0.134E+15, 257.0, 222.4,1482.0,1862.1,1723.9 0.100E+00, 0.137E+15, 260.1, 225.1,1484.7,1864.7,1726.6
None.
yield strength, flow stress, hardness, work hardening, precipitiation, Peierls stress, solid solution strengthening
MAP originated from a joint project of the National Physical Laboratory and the University of Cambridge.