Welcome! Click to reach the link!


About Me
 
In China
 In Germany
 In USA
 My Resume
  
Publications
 
Books
 Technical Papers
 Theses
 Others
 
Info Tech
 
A Move To IT
 
Courses Attended
 Certificates
 Software Projects
 
FEM Simulation
 
Engineering
 
Work and Study
 Courses Attended
 Process Modeling
 
Photo Album
 
China
 Germany
 Ph.D. defence/celeb.
 
Miner Parade
 USA
 Scenic & Architecture
 
Hobbies
 
Resources Links


 

| Home | About Me | Publications | Info Tech | Engineering | Hobbies | Resource Links |

[Resume] [Books] [Technical Papers] [Software Projects] [FEM Simulation] [Process Modeling]

 


Flow Stress Modeling Program

Flow Stress Model

Flow stress is a kind of metal strength, especially against plastic deformation. This program is designed to model flow stress into the following formula:




Constant for a given metal grade
Temperature factor. A1 and m1 are constants, T in deg. C.
Strain factor. A2, m2 and m4 are constants.
Strain rate factor. A3, m3, m5 are constants, U in 1/s

This is one of dozens of process models the author developed in past years. Several simplified forms of this model is also wide used in the industry, such as the case without temperature correction on the strain rate factor, or any form that considers only one or two of the three influence factors. All those forms can be determined with this program.

Program Features

The program is designed to determine factors m1 to m5 and A1 to A3, and Kf0. The database and table information can be saved into the system so that as the program runs again, there is no need to type in such information again.

The m3 and m3 are determined in the first step, and then m1, and at last, the m2 and m4. A1 to A3 and Kf0 are dependent on the m1 to m5. The m3_T and m5_T in the Figure 1 are corresponding to m3 and m5 in the formulae mentioned above, and m3 in the Figure 1 equals m3_T + m5_T*T. In calculating m3_T and m5_T, linear Least-Squares Regression is used. If you want to go back to traditional model and ignore the m5, the factor m3 in the group box "Calc m3" is what you need for strain rate. Since this factor is strongly temperature dependent, I recommend you to use m3_T and m5_T.



Figure 1: Form to calculate m3 and m5, through linear regression

Calculation for m2 and m4 has multiple options, and since it requires nonlinear regression, more control factors are needed. As showed in the Figure 2, the program determines m2 and m4 in two major steps: initial estimation and regression. In either step the user has choice as whether to use peak flow stress to improve result. This program also allows user to determine many control factors, such as:

  • Within which scope the data is used for modeling. Three scopes are possible to determine m2 and m4: For every grade; or for every temperature in every grade; or for every strain rate in every temperature in every grade. Correspondingly, the user may choose to select only the Grade box, or both Grade and Temperature boxes, or all three boxes (Grade, Temperature and Strain Rate), within the Source Control group box in the Figure 2.
  • Either "Single Only" calculation, or multiple records calculation. In the later case, user can determine where the calculation starts.
  • Option to assign source data columns, such as columns for strain and stress, and for peak strain and peak stress.

The program also provides improved user-friendliness. If a box is checked to perform an action, all boxes and buttons performing conflicting or useless actions will be deactivated. For example, if the “Regression” box is checked under “Consider Peak”, the “Initial Estim.” Box is automatically checked and disabled; and only when the "Initial Estim." box is checked, are the peak strain columns and the "Best peak strain" radio button are activated.



Figure 2: Form to determine m2 and m4 by initial estimation and non-linear regression.

Four options are used for the initial estimation of m2 and m4:

  • Min, mid, max: The minimal, middle and maximum strains are used.
  • Manual set strains: Allows user to manually select 3 points to determine m2 and m4
  • Best peak strain: To ensure the strain with peak flow stress can be reflected accurately in the model
  • Best R-sq: Through variation of multiple possibilities of initialization for m2 and m4, to select m2, m4 with the best R-square value. This is the default setting.

In each of the above mentioned options, the program allows user to select two possibilities: considering and not considering peak flow stress. If the peak flow stress is contained in the data, it can be used to improve the accuracy of the model.

 

Not considering peak

Considering peak

Min, Mid, Max

Min, Mid and Max strains

Min, mid and max strains, and peak flow stress

Manual

Manually set three points

Manually set three points, and peak point

Best peak strain

(Not applicable, and so the radio button is disabled)

Every two points + peak strain, and one with the best R-square is selected

Best R-sq

Variation following the order, and pick the one with the best R-square:
 - Min, Mid, Max
 - Every three points

Variation following the order, and pick the one with the best R-square:
 - Min, Mid, Max
 - Min, Mid, Max + Peak
 - Every three points
 - Every three points + Peak
 - Every two points + Peak
 - Every two points + Peak strain

During the regression, if he peak strain is considered, it is for best peak strain only. I this case the variation of the m2 and m4 is tied. In most case, the peak point is not considered, in order to change m2 and m4 freely. In the regression, variation of m2 and m4 is starting from the initially determined value. The variation is with an increment that equals the product of the interval factor and the initially determined value, up to a maximal number of increments unless the R-Square drops below a certain percentage of the initially determined R-Square. The program gives the use full options to change all those regression parameters (see the group box "Regression" in the Figure 2). Programmatically, such parameters are the properties for the class clsReg.

It took about half an hour for the program to determine all constants used to model all grades in the Suzuki Report (70 grades, 8764 points in over 1250 curves). The data was measured earlier through another Coordinate Recording Tool to read Data from Curves.

Implementation

Modeling logics and parameters are handled in the classes, such as clsFS, clsReg, clsM2M4. In the form scope, as little as possible handling is performed; this makes it very easy to move the program into a web-based application.

The class clsFS performs general calculation and for database update. It also handle database types (either Excel, or Access or SQL Server), and tables, etc. All forms share the common object oFS of the class clsFS, so that some parameters assigned through one form are available in other forms. The object oReg from clsReg is for nonlinear regression only and thus mainly for the form to determine m2 and m4. The class clsM2M4 uses clsFS and clsReg, and serves frmM2M4. This class mainly handles three scopes within which the data is used for modeling:

  • For every grade. This is the case to generate a full-model, where stresses and strains are calculated into the reference temperature and the reference strain rate.
  • For every temperature in every grade
  • For every strain rate in every temperature in every grade
Class Property Function (Sub)
clsFS DBType : String
DBName : String
Tablename : String
KeyName : String
DBConnOle : OleDbConnection
DBConnSql : SqlConnection
 
ConnDB()
UpdateWholeGrade() : Integer
UpdateRecord() : Integer
UpdateWholeParam() : Integer
UpdateWholeRaram() : Integer (overloaded)
UpdateWholeTemperature() : Integer
UpdateWholeTStrr() : Integer
MyUpdate() : Integer
WriteToFile()
CloseDB()
m3A3() : Decimal
fnM1() : Decimal
fnM1_U() : Decimal
m2m4A2() : Array
m2m4A2Phip() : Array
m2m4A2PhipKfp() : Array
m3_Avg_T_OneTemp() : Decimal
CalcKf() : Decimal
EqXYZ() : Array
clsReg LogName : String
IntervalM2 : Decimal
IntervalM4 : Decimal
LoopM2 : Integer
LoopM4 : Integer
R_sqRatio : Decimal
InitPeak : Boolean
RegPeak : Boolean
ColStnPeak : String
ColStePeak : String
NoReg : Boolean
ManualStn1 : Decimal
ManualStn2 : Decimal
ManualStn3 : Decimal
InitOption : Int16
RegKfStn() : Array
RegM2M4() : Array
R_sq_M2M4() : Decimal
Err_Pct_M2M4() : Decimal
CalcSt() : Decimal
CalculateKf0() : Decimal
InitM2M4() : Array
ManualInitM2M4() : Array
MinMidMaxInitM2M4() : Array
TwoPtsPkStnM2M4() : Array
ThreePtsPkM2M4() : Array
ThreePtsM2M4() : Array
PeakExists() : Boolean
clsM2M4 StartGIndex : Integer
StartTIndex : Integer
StartUIndex : Integer
TValue : Integer
TIndex : Integer
UValue : Decimal
UIndex : Integer
RegOneGrd_G() : Integer
RegOneGrd_GT() : Integer
RegOneGrd_GU() : Integer
RegOneGrd_GTU() : Integer
RegOneTempLong() : Integer
RegOneTempShort() : Integer
RegOneStrrShort() : Integer

 

 


  You are welcome to contact me. Send e-mail to me if you want.

 
© Benjamin (Bingji) Li 2000. All rights reserved.