DEVELOPMENT OF SOFTWARE FOR RIGID PAVEMENT THICKNESS DESIGN MOHD KHAIRUL IDHAM BIN MOHD SATAR A project report submitted in partial fulfillment of the requirements for the award of the degree of Master of Engineering (Civil – Transportation and Highway) Faculty of Civil Engineering Universiti Teknologi Malaysia NOVEMBER 2009 iii Dedicated to my dad Mohd Satar bin Sa’ad, my mum Rosmiah bte Abd Samad, my family and to a special person… for their love, support and patience are awesome also not forgotten to all my colleagues…., for their assistance and encouragements towards the success of this study iv ACKNOWLEDGEMENT First of all, I would like to praise God the Almighty for the guidance and blessings towards the completion of this study. Very special thanks also to my supervisors, Assoc. Prof. Dr Mohd Rosli Hainin and Dr. Haryati Yaacob. Thank you for giving me the guidelines, and aiding me with the project, but the most importantly was giving us the trust to handle this project. Your constructive criticism are very much appreciated and accepted as an encouragement to make this study as complete and as correct as possible. I would like to give credits to all members for their continuous cooperation so that I could finish this study before due date. Also thank you to all Highway and Transport Laboratory staffs who helped me in completing this project. Finally our parents should have all the credits because without them I would never have the opportunity to pursue my studies in this very beautiful and prestigious university. Thank you. v ABSTRACT Rigid pavement is frequently misunderstood form of construction. Many people assume that rigid pavement is costly and not effective. However, it has been proven that it is good in term of the strength and durability to cater high traffic load compare to flexible pavement. However, in order to have good rigid pavement, the design procedures of the pavement should be properly applied. The vital issue in pavement design is thickness. There are two main approaches of design the rigid pavement thickness which are Portland Cement Association (PCA) method and American Association of States Highway and Transportation Officials (AASHTO) method. However, both methods are difficult to conduct manually and may produce inaccurate result. The difficulties can be expressed in term of time consuming and tedious calculation. Hence, it is very important to computerize the methods in order to make it more accurate and quicker. Although there are available software in the market but the software may not be user-friendly enough. It also does not allow the user to compare between methods. Generally, both methods have their own concept but there are still several same parameters considered. Therefore, the significance comparison between both methods can be done to select most economical pavement thickness design. Microsoft Visual Basic 6.0 was the tools used to develop the new software. Software named as AnP Pave was successfully developed. Moreover, based on the verification result there are only small difference between the software and manual calculation. However, an improvement needs to be applied to make the software capable to design pavement reinforcement and produce printable design report. vi ABSTRAK Turapan tegar sering disalaherti dari segi pembinaan dan penggunaanya. Ramai beranggapan turapan tegar menelan kos yang tinggi berbanding peranannya. Walau bagaimanapun, telah terbukti turapan ini mempunyai kekuatan dan berkeupayaan menanggung beban trafik yang lebih tinggi berbanding turapan lentur. Dalam mengahasilkan turapan tegar yang baik, proses rekabentuk hendaklah dilaksanakan dengan kemas dan teratur. Ketebalan turapan merupakan perkara pokok dalam proses ini. Terdapat dua kaedah utama dalam merekabentuk ketebalan jalan iaitu kaedah Portland Cement Association (PCA) dan kaedah American Association of State Highway and Transportation Officials (AASHTO). Namun, kedua-dua kaedah ini agak rumit untuk dilaksanakan secara manual dan berkemungkinan boleh menghasilkan keputusan yang kurang tepat. Maka, adalah penting pengiraan ini dijalankan dengan bantuan perisian komputer untuk menghasilkan keputusan yang lebih tepat dan cepat. Walaupun sudah terdapat perisian komputer terjual di pasaran, tetapi ia agak sukar digunakan kerana kurang mesra pengguna. Selain itu, pengguna tidak dapat membandingkan keputusan antara kedua-dua kaedah tersebut. Umumnya, konsep kedua-dua kaedah adalah berbeza, tetapi terdapat beberapa parameter yang sama yang diambilkira dalam kaedah-kaedah tersebut. Oleh itu, kedua-duanya boleh dibandingkan dalam memilih ketebalan turapan yang lebih ekonomi. Microsoft Visual Basic 6.0 digunakan untuk membangunkan perisian ini. Perisian baru ini dinamakan AnP Pave. Berdasarkan ujian pengesahan, keputusan menunjukkan hanya terdapat sedikit perbezaan antara kiraan secara manual dengan kiraan perisian ini. Penambahbaikan atas perisian ini boleh dijalankan dengan memasukkan pengiraan tetulang turapan dan menghasilkan laporan rekabentuk yang boleh dicetak. vii TABLE OF CONTENTS CHAPTER 1 2 TITLE PAGE DECLARATION ii DEDICATION iii ACKNOWLEDGEMENTS iv ABSTRACT v ABSTRAK vi TABLE OF CONTENTS vii LIST OF TABLES x LIST OF FIGURES xi LIST OF ABBREVIATIONS xii LIST OF SYMBOLS xiii LIST OF APPENDICES xiv INTRODUCTION 1.1 Background of the Problem 1 1.2 Statement of the Problem 2 1.3 Objective of the Research 2 1.4 Scope of the Study 3 1.5 Significance of the Study 3 LITERATURE REVIEW 2.1 Introduction 4 2.2 Rigid Pavement 4 2.2.1 Jointed Plain Concrete Pavement (JPCP) 5 2.2.2 (JRCP) Jointed Reinforce Concrete Pavement 6 viii 2.2.3 Continuous Reinforced Concrete Pavement (CRCP) 2.3 Design of Rigid Pavement Thickness 7 8 2.3.1 Portland Cement Association (PCA) Method 8 2.3.1.1 Axle Load Distribution 2.3.2 AASHTO Method 15 Software Application Solution 17 2.4.1 APCA StreetPave Software 17 2.4.2 WinPAS Software 17 2.5 Comparison of PCA and AASHTO Methods 18 2.6 Introduction to Visual Basic 6.0 19 2.4 3 4 13 METHODOLOGY 3.1 Introduction 21 3.2 Data Collection 23 3.3 Flow Chart of Rigid Pavement Thickness Design 23 3.4 Comparison of the PCA and AASHTO Methods 25 3.5 Software Application 26 3.5.1 Application of Microsoft Visual Basic 26 3.5.2 Software Verification Test 27 FINDINGS AND DISCUSSION 4.1 Introduction 28 4.2 AASHTO and PCA Method Parameters / Variables 28 4.3 AnP Pave Software 31 4.3.1 Start Menu 31 4.3.2 Design Method Selection Menu 32 4.3.3 Traffic Input Data Form 32 4.3.4 PCA Method - Input Data Form 34 4.3.5 PCA Method - Axle Data Form 35 4.3.6 PCA Method – Result Form 37 4.3.7 AASHTO Method – Input Data Form 38 4.3.8 AASHTO Method – Result Form 39 ix 5 4.3.9 PCA and AASHTO Results 40 4.4 Verification of AnP Pave Software 41 4.5 Comparison of Thickness Due to Traffic 44 CONCLUSION AND RECOMMENDATION 5.1 Conclusion 47 5.2 Recommendation 48 REFERENCES 49 APPENDICES 51 x LIST OF TABLES TABLE NO. TITLE PAGE 2.1 Axle load distributions 13 2.2 Axle load categories 14 2.3 Comparison of PCA and AASHTO slab thickness 18 2.4 Comparison of PCA and AASHTO slab thickness 19 2.5 CRCP Plan View 7 2.6 CRCP Side View 8 2.7 AASHTO Method Nomograph 11 3.1 Study Flow Chart 15 3.2 PCA Method Flow Chart 18 3.3 AASHTO method flow chart 19 4.1 Input Parameters for AASHTO and PCA method 29 4.2 Input Parameters for AASHTO and PCA 42 4.3 Comparison of design thickness for AASHTO and PCA method 4.4 Comparison of total fatigue and erosion for PCA method using AnP Pave and manual calculation 4.5 43 43 Conversion factor between customary unit and metric unit 44 4.6 Comparison due to traffic for first condition 45 4.7 Comparison due to traffic for second condition 46 xi LIST OF FIGURES FIGURE NO. TITLE PAGE 2.1 JPCP Plan View 5 2.2 JPCP Side View 6 2.3 JRCP Plan View 6 2.4 JRCP Side View 7 2.5 CRCP Plan View 7 2.6 CRCP Side View 8 2.7 AASHTO Method Nomograph 16 3.1 Study Flow Chart 22 3.2 PCA Method Flow Chart 24 3.3 AASHTO method flow chart 25 4.1 Start menu for AnP Pave software 31 4.2 Design Method Selection Menu 32 4.3(a) Traffic data input for PCA method 33 4.3(b) Traffic data input for AASHTO method 34 4.4 PCA method input data 35 4.5 PCA method axle data 36 4.6 Description on traffic category in PCA 36 4.7 PCA method result 37 4.8 PCA method recalculation 38 4.9 AASHTO method input data form 39 4.10 AASHTO method result 40 4.11 Comparison between PCA and AASHTO 41 4.12 Comparison due to traffic for first condition 45 4.13 Comparison due to traffic for second condition 46 xii LIST OF ABBREVIATIONS AASHTO - American Association of State Highway and Transportation Officials APCA - American Concrete Pavement Association PCA - Portland Cement Association JPCP - Jointed Plain Concrete Pavement JRCP - Jointed Reinforced Concrete Pavement CRCP - Continuously Reinforced Concrete Pavement SA - Single Axle TA - Tandem Axle NS - No Shoulder WS - With Shoulder ND - No Dowel WD - With Dowel LSF - Load Safety Factor ADT - Average Daily Traffic ADTT - Average Daily Truck Traffic ESAL - Equivalent Single Axle Load xiii LIST OF SYMBOLS W18 - Total 18-kip ESAL Application, AASHTO Ec - Concrete Elastic Modulus, k - Modulus of Subgrade Reaction Sc - Modulus of Rupture J - Load Transfer Coefficient Cd - Drainage Coefficient PSI - Design Serviceability Loss So - Overall Standard Deviation R - Reliability ZR - Standard Normal Deviate xiv LIST OF APPENDICES APPENDIX A TITLE PAGE Table and Figure for pavement thickness design Using PCA Method 51 B Coding written in module (VB Coding) 59 C Coding written in Start Menu (VB Coding) 63 D Coding written in Design Method Selection Menu (VB Coding) E Coding written in PCA Method - Input Data Form (VB Coding) F 93 Sample of AASHTO method using manual calculation (nomograph) K 90 Coding written in AASHTO Method – Result Form (VB Coding) J 85 Coding written in AASHTO Method – Input Data Form (VB Coding) I 69 Coding written in PCA Method – Result Form (VB Coding) H 66 Coding written in PCA Method PCA Method - Axle Data Form (VB Coding) G 64 96 Sample of PCA method using manual calculation (worksheet, nomograph) 97 CHAPTER 1 INTRODUCTION 1.1 Background of the Problem Road infrastructure is essential in a new development area. New road infrastructure projects constitute of large investments in order to serve to the public for a long time. The investments have to be durable at the lowest life cycle cost and the pavements have to sustain loads from increasing traffic intensity and heavy traffic loads. Road structure encompasses several layers which are subgrade, subbase, road base and surface layer. From bottom until top of the road structure play an important role to ensure the road is good enough to be serve to the public. In general, there are two main pavement types which are flexible and rigid pavement. Rigid pavement is more complex to build, which required more specialized equipment. The current preference within the road industry is to flexible and composite road pavement. Flexible pavement bituminous surfacing while rigid pavement consists of a thick concrete top surface. In addition, composite pavement is where a flexible layer has been added on top of the surface of a rigid road, or where a concrete layer exists below a bitumen top surface. The last major concrete road built in the Malaysia was in the late 1980s [1]. On the other hand, concrete roads are widely used in developed country such as Europe and United States for highway as well as rural roads. High initial cost is the main reason why the usage of concrete pavement is less. 2 However, with proper design and construction, concrete pavement can cater almost unlimited amounts of any type of traffic with ease, comfort and safely. The surface is smooth, dust-free and provides good skid resistance. Therefore, it is economical such that low in maintenance cost and it relatively permanence. Consequently, to encourage the competition between different pavements, the tools for designing robust concrete pavements have to be brought forward. In order to emphasize concrete pavements as an alternative in road construction, the design must also be competitive. 1.2 Statement of the Problem Concrete pavement design has over the years become a more important part for the promoting of concrete roads. High capital cost is balanced by the less cost of pavement maintenance and longer design period. However, proper design of concrete pavement needs to be emphasized in order to avoid lack of performance of concrete pavement. Moreover, time taken during design stage may also increase the capital cost. Although, many software application have been introduced to counter the problems, but it may be expensive, not user-friendly and not allow the users to compare which is more economical in term of the thickness between the design methods. Due to that, this study concentrated on the development of software that may help the design engineer as well as the contractor to choose the best pavement thickness in term of design and cost. 1.3 Objectives of the Study This study aims to develop software for rigid pavement thickness design. The developed software is expected to achieve the following objectives: 3 i) To analyze and recognize the difference between Portland Cement Association (PCA) method and (American Association of State Highway and Transportation Officials (AASHTO) method in term of the concept and parameters used. ii) To develop software that allows the design engineer to compare the results between two methods and select the prefer method. 1.4 Scope of the Study This study considers all types of concrete pavement consist of jointed plain concrete pavement (JPCP), jointed reinforced concrete pavement (JRCP) and continuously reinforced concrete pavement (CRCP). However, it only focuses on two design methods which are PCA method and AASHTO method. Microsoft Excel and Microsoft Visual Basic 6.0 are tools used in order to achieve the objectives. 1.5 Significance of the Study The significances of the study are as follows: i) Manual design may take longer time compared with computerized design. Thus, at the end of the study, the software for rigid pavement design thickness is developed that may minimize the time taken in design process. ii) Generally, the software also avoids human error made by the engineer during the calculation because it was developed according to the standard method and all calculation is computerized. Consequently, the result can be trusted and unarguable. iii) Since, the software will comprise two design methods design engineer may select preferred one by comparing both methods. CHAPTER 2 LITERATURE REVIEW 2.1 Introduction Generally, rigid pavement is used to carry larger traffic load and also as a surface for weak sub-grade layer. Therefore, in order to provide a proper design steps, it is very important to undergo detail study on the pavement. This chapter will discuss about the types, concept, analysis and design process of rigid pavement using PCA method and AASHTO method. 2.2 Rigid Pavement There are a number of different types of concrete pavements that have been built. However, it only has two basic elements. First, the pavement resists traffic loads through flexure of concrete and if reinforcement is used, it is used for crack control only. Secondly, concrete pavement contract due to drying shrinkage of concrete and expand and contract due to thermal effects. Both movements must be dealt with [2]. Generally, there are three conventional concrete pavements which are jointed plain concrete pavement (JPCP), jointed reinforce concrete pavement (JRCP) and continuous reinforced concrete pavement (CRCP). Conventional concrete pavement 5 is classified based on the jointing and/or reinforced system adopted. Pre-stressed and precast concrete pavements are also used similarly as conventional concrete pavement, but they have been used infrequently. Other types of concrete pavement are roller compacted concrete (RCC) and porous concrete which used for specialized application [2]. However, this study will only focus on the conventional concrete pavement. 2.2.1 Jointed Plain Concrete Pavement (JPCP) Jointed plain concrete pavement (JPCP) uses contraction joints to control cracking and does not use any reinforcing steel. Transverse joint spacing is selected such that temperature and moisture stresses do not produce intermediate cracking between joints. This typically results in a spacing no longer than about 6.1 m (20 ft.). Two methods are used to provide load transfer across JPCP joints which are aggregate interlock and dowels bar. Meanwhile, tie bars are typically used at longitudinal joints [3]. Figure 2.1 and Figure 2.2 show the general view of the JPCP Figure 2.1: JPCP Plan View [3] 6 Figure 2.2: JPCP Side View [3] 2.2.2 Jointed Reinforce Concrete Pavement (JRCP) Jointed reinforced concrete pavement (JRCP) uses contraction joints and reinforcing steel to control cracking. Transverse joint spacing is longer than that for JPCP and typically ranges from about 7.6 m (25 ft.) to 15.2 m (50 ft.). Temperature and moisture stresses are expected to cause cracking between joints, hence reinforcing steel or a steel mesh is used to hold these cracks tightly together. Dowel bars are typically used at transverse joints to assist in load transfer while the reinforcing steel/wire mesh assists in load transfer across cracks [3]. Figure 2.3 and Figure 2.4 show the general view of JRCP. Figure 2.3: JRCP Plan View [3] 7 Figure 2.4: JRCP Side View [3] 2.2.3 Continuous Reinforced Concrete Pavement (CRCP) Continuously reinforced concrete pavement (CRCP) does not require any contraction joints. Transverse cracks are allowed to form but are held tightly together with continuous reinforcing steel. Research has shown that the maximum allowable design crack width is about 0.5 mm (0.02 inches) to protect against spalling and water penetration. Cracks typically form at intervals of 1.1 - 2.4 m (3.5 - 8 ft.). Reinforcing steel usually constitutes about 0.6 - 0.7 percent of the crosssectional pavement area and is located near mid-depth in the slab [3]. General views of CRCP are as shown in Figure 2.5 and Figure 2.6 below. Figure 2.5: CRCP Plan View [3] 8 Figure 2.6: CRCP Side View [3] 2.3 Design of Rigid Pavement Thickness Pavement must have an adequate thickness to support the loads which will be applied to it during its service life and the design must be economical. Several different factors enter in order to determine the thickness. Generally, concrete pavement thickness required for a given road will depend on 4 factors [4]: x The properties of soil x The inclusion or omission of a base x The inclusion or omission of steel reinforcement x The intensity of the traffic Many organization and individuals have given their attention on the thickness design problems. Two popular design methods that commonly used as a basis of thickness design are Portland Cement Association (PCA) method and AASHTO method. 2.3.1 Portland Cement Association (PCA) Method Portland Cement Association’s (PCA) thickness design procedure concrete highway and streets was published in 1984, superseding that published in 1966 [5]. The PCA method is based on the following two criteria [6]: 9 x Fatigue. It attempts to keep pavement stresses from repeated loads within acceptable limits to prevent fatigue cracking. x Erosion. It attempts to limit the effects of pavement deflections at joints and corners of slabs in order to control the erosion of subgrade materials and thus minimize joint faulting. There are several parameters that need to be considered and carried out before calculate the thickness design. The procedures are as follows: i) Designer assigns input factors ii) Select trial thickness iii) Fatigue analysis iv) Erosion analysis v) Increase trial thickness minimum that just exceeds 100% for both fatigue and erosion The fatigue and erosion analysis are carried out to determine the equivalent stress, erosion factor, and stress ratio factor for single and tandem axles. The parameters are determined through specific tables and chart produced by PCA based on information such as type of pavement, sub-base type, concrete modulus of rupture, modulus of sub-grade reaction, k and traffic data[5]. All charts and tables related to PCA method as shown in Appendix A. It takes about 170 calculations to obtain the pavement thickness [7]. According to Ying-Haur Lee and Samuel H. Carpenter [8], there are equations established in order to create the tables and charts developed by PCA. Two different set of equations used to analyze fatigue and erosion respectively as follows. Equation 2.1 and Equation 2.5 show the equivalent stress and equivalent deflection respectively. Equivalent stress is used to determine allowable repetition for fatigue analysis, while equivalent deflection used for erosion analysis. Fatigue Analysis ߪ ൌ ൈ ܯ ൈ ݂ଵ ൈ ݂ଶ ൈ ݂ଷ ൈ ݂ସ ሺʹǤͳሻ ݄ଶ 10 Where: ߪ ൌ ݄ ൌ ܯ ൌ െͳͲͲ ʹͷʹͷ ൈ ሺ݈ሻ ʹͶǤͶʹ ൈ ݈ ͲǤʹͲͶ ൈ ݈ଶ ۓ ۖ ͵Ͳʹͻ ʹͻǤͺ ൈ ሺ݈ሻ ͳ͵͵Ǥͻ ൈ ݈ െ ͲǤͲ͵ʹ ൈ ݈ Ȁ ଶ Ȁ Ǥସସ ሻ ۔ሺെͻͲǤͶ ͳʹͲʹǤ ൈ ሺ݈ሻ ͷ͵Ǥͷͺ ൈ ݈ሻ ൈ ሺͲǤͺͶʹ ͲǤͲͳͲͺͺ ൈ ݇ Ȁ ۖ ەሺʹͲͲͷǤͶ െ ͳͻͺͲǤͻ ൈ ሺ݈ሻ ͻͻǤͲͲͺ ൈ ݈ሻ ൈ ሺͲǤͺͶʹ ͲǤͲͳͲͺͺ ൈ ݇ Ǥସସ ሻ Ȁ ଶସ Ǥ ݂ଵ ൌ ቐ ቀௌቁ ቀ ସ଼ ் Ǥ ቁ ൈቀ ௌ ଵ଼ ቁ ் ൈቀ ቁ ଷ ݄ଶ ݄ െ ͲǤͺͻʹ ݂ଶ ൌ ൝ ͺͷǤͳ ͵ͲͲͲ ͳ ݂ଷ ൌ ͲǤͺͻͶ݂ݎΨܾ݈݁݃݀݁ܽݏ݄݁ݐݐܽ݇ܿݑݎݐ ݂ସ ൌ ͳ ሾͳǤʹ͵ͷ ൈ ሺͳ െ ܸܥሻሿ Ǥଶହ ݈ ൌ ቆ ܧൈ ݄ଷ ቇ ሺͳʹ ൈ ሺͳ െ ߤଶ ሻ ൈ ݇ሻ ݇ ൌ ܵ ܮܣൌ ܶ ܮܣൌ ܸܥൌ ͲǤͳͷሺሻ ܧൌ ͶͲͲͲͲͲͲ ߤ ൌ ͲǤͳͷ Then, maximum allowable load repetition (Nf) is calculated based on the following eq/Sc - Nf relationship. From Equation 2.2 to Equation 2.4 below, only one will be used to calculate respective axle load. It totally depends on eq/Sc ratio as shown below. ܰ ൌ ͳͳǤ͵ െ ͳʹǤͲ ൈ ሺ ߪ ሻ ܵ ቀ ఙ ௌ ቁ ͲǤͷͷ ሺ ʹǤʹሻ 11 ସǤଶହ ܰ ൌ ቆ ೄ ିǤସଷଶହ ଷǤଶ଼ ቇ ܰ ൌ ܷ݈݊݅݉݅݀݁ݐ ఙ ͲǤͶͷ ൏ ቀ ቀ ఙ ௌ ௌ ቁ ൏ ͲǤͷͷ ቁ ͲǤͷͷ ሺ ʹǤ͵ሻ ሺ ʹǤͶሻ Where: ܵ ൌ The expected number of load repetitions dividing by Nf to calculate the percentage of fatigue damage for each load and axle type. The total cumulative fatigue damage has to be within the specified 100% limiting design criterion. Erosion Analysis ߜ ൌ ܲ ൈ ݂ହ ൈ ݂ ൈ ݂ ሺʹǤͷሻ ݇ Where: ߜ ൌ ϐ ͶǤͳʹ Ͷ͵ʹǤ ʹʹͺͺ െ ͳ ۓǤͷͳ ݈ ݈ଶ ݈ଷ ۖ ʹͳ͵Ǥͺ ͳʹͲǤͺ ʹʹͻͺͻ ۖ ͳǤͺͶ െ ݈ ݈ଶ ݈ଷ ܲ ൌ Ͳ۔ǤͷͺͶ ͷǤͳͲͺ ͳͳ͵ͲǤͻ െ ͷʹͶͷǤͺ ݈ ݈ଶ ݈ଷ ۖ ͳͲʹǤʹ ͳͲʹ ͳͶͶͷͳ ۖ ͳ ەǤͶ ݈ െ ݈ଶ ݈ଷ ȀȀ ȀȀ ȀȀ ȀȀ ͳʹͺǤͺͷ ͳͳͲͷǤͺ ͵ʹͻǤͳ ۓെͲǤ͵Ͳͳͻ ݈ ݈ଶ ݈ଷ ۖ ͻǤͶͻͳ ͳͶͺͶǤͳ ͳͺͲ ۖ ͳǤʹͷͺ െ ଷ ݈ ݈ଶ ݈ ܲ ൌ ʹǤͻͻ ͵ʹ͵Ǥͳ ͳʹͲ ۔ ͲǤͲͳͺ ଶ ଷ ݈ ݈ ݈ ۖ ͳͶǤʹͷ ʹ͵ͺͷǤ ʹ͵ͺͶͺ ۖ െ Ͳ ەǤͲ͵Ͷͷ ݈ ݈ଶ ݈ଷ ȀȀ ȀȀ ȀȀ ȀȀ 12 ܵܮܣȀͳͺ ݂ହ ൌ ቊ ܶܮܣȀ͵ Ȁ ଶ ݇ ݂ ൌ ൞ͳǤͲͲͳ െ ൬ͲǤʹ͵͵ െ ൰ Ȁ ͵Ͳ͵ͶǤͷ ͳ ͲǤͻͷ ͲǤͺͻ ݂ ൌ ቊ ͳ Then, maximum allowable load repetition (Ne) is calculated based on the following Equation 2.6 or Equation 2.7 as follows. Selection of the equation depends on the value of C1 x P. ܰ ൌ ͳͶǤͷʹͶ െ Ǥ ൈ ሺܥଵ ൈ ܲ െ ͻሻǤଵଷ െ ܥଶ ܥଵ ൈ ܲ ͻሺ ʹǤሻ ܰ ൌ ܷ݈݊݅݉݅݀݁ݐ ܥଵ ൈ ܲ ͻሺ ʹǤሻ Where: ଶ ܲ ൌ ʹͺǤ ቆ ݇ଵǤଶ ൈ ߜ ܲ ଶ ቇ ൌ ʹͺǤ ቆ ቇ ݄ ൈ ݇ Ǥଷ ݄ ͳͳͳͳͳ ൈ ሺͲǤͺͻ ൈ ܲሻଶ ൈ ܥଵ ܨܧൌ ݈ ݃ቈ ݄ ൈ ݇ Ǥଷ ݇ Ͷ ଶ ൈ ൰ ܥଵ ൌ ͳ െ ൬ ʹͲͲͲ ݄ ͲǤͲ ܥଶ ൌ ቊ ͲǤͻͶ The expected number of load repetitions dividing by Ne to calculate the percentage of erosion damage for each load and axle type. The total cumulative erosion damage has to be within the specified 100% limiting design criterion. 13 2.3.1.1 Axle Load Distribution Basically, this method requires the axle load distribution data. Axle load distribution data for single, tandem and tridem axles may be obtained direct from actual weigh station data or National axle load study. However, in absence of more specific data, the axle load distributions in Table 2.1 may be used to generate the expected repetitions of each magnitude of axle load for single and tandem axle groups, depending on axle load category. The axle load category is selected from Table 2.2 based on description of road and maximum axle loads. Table 2.1: Axle load distributions [9] Axle Load (kips) Category 1 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 1693.31 732.28 483.10 204.96 124.00 56.11 38.02 15.81 4.32 0.96 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 31.9 85.59 139.3.0 75.02 57.10 39.18 68.48 69.59 4.19 Axles per 1000 Trucks Category 2 Category 3 Single Axle 233.60 142.70 116.76 47.76 23.88 16.61 6.63 2.60 1.60 0.07 182.02 47.73 31.82 25.15 16.33 7.85 5.21 1.78 0.85 0.45 Category 4 57.06 68.27 41.82 9.69 4.16 3.52 1.78 0.63 0.54 0.19 Tandem Axle 47.01 91.15 59.25 45.00 30.74 44.43 54.76 38.79 7.76 1.16 99.34 85.94 72.54 121.22 103.63 56.25 21.31 8.01 2.91 1.19 71.16 95.79 109.54 78.19 20.31 3.52 3.03 1.79 1.07 0.57 Table 2.2: Axle load categories [9] 14 15 2.3.2 AASHTO Method The design guide for rigid pavements was developed at the same time as flexible pavements and was published in the same manual [1]. AASHTO published design guides in 1972, 1986, and 1993. The 1993 AASHTO Guide for Design of Pavement Structure considers the following factors in the design of rigid pavement: x Effective modulus of subgrade reaction x Concrete elastic modulus x Concrete modulus of rupture x Load-transfer coefficient x Drainage coefficient x Reliability and standard deviation x Traffic load application x Serviceability loss Based on the factors, Equation 2.8 below is established by AASHTO [2]: ଵ ଵ଼ ο ቁ ͶǤͷ െ ͳǤͷ ൌ ୖ Ǥ͵ͷଵ ሺ ͳሻ െ ͲǤͲ ͳǤʹͶ ൈ ͳͲ ͳ ሺ ͳሻ଼Ǥସ ଵ ቀ ۇ ۈ ሺͶǤʹʹ െ ͲǤ͵ʹ୲ ሻ ۈ ۈ ۈ ۊ ۋ ۋሺʹǤͺሻ ۋ ͳͺǤͶʹ ۋ Ǥହ ʹͳͷǤ͵ ൮ െ ൲ ୡ Ǥଶହ ቀ ቁ ی ۉ ݇ ୡ ୢ ሺǤହ െ ͳǤͳ͵ʹሻ Where: ଵ଼ = traffic carried in ESALs ୖ ൌ ൌ ൌ ο ൌ ୡ ൌ ϐ ሺሻ 16 ୢ ൌ ϐ ൌ ϐ ୡ ൌ ሺሻ ݇ ൌ ሺȀሻ Equation 2.8 above is difficult to solve directly. The AASHTO provides a nomograph as shows in Figure 2.7 for determining the solution. However, the accuracy of the design may be questioned due to the human error. Figure 2.7: AASHTO Method Nomograph [5] 17 2.4 Software Application Solution Generally, PCA method was introduced earlier in 1984 while AASHTO was 1993. The design methods were computerized in order to ensure accuracy of design. By the computerization of the methods, it also makes the design process simpler and shortens the duration. Most popular software that is available in the market is ACPA StreetPave and WinPAS [2]. 2.4.1 APCA StreetPave Software StreetPave is mainly designed for use on streets and county roads, but it can design highways as well. StreetPave represents a significant advance over PCAPave, its predecessor program. Streetpave utilizes engineering analyses to produce optimized concrete pavement thicknesses for city, municipal, county, and state roadways using PCA method [10]. The ACPA claims that its software creates “equivalent” pavement designs for concrete and asphalt sections based on the load carrying capacity. If this were true, it would indeed be a powerful way to compare competing pavement sections [10]. However, the ACPA’s Streetpave software deliberately reduces the user’s design input for subgrade strength prior running the pavement design calculation. The result is that designs are calculated to be thicker than necessary. Thicker pavement sections are more costly than standard sections [11]. 2.4.2 WinPAS Software This popular, user-friendly software program allows roadway pavement thickness design and evaluation according to the 1993 American Association of State 18 Highway and Transportation Officials (AASHTO) Design Guide for Pavement Structures, including traffic and overlay thickness methods It explains all factors in the 1993 AASHTO Design Guide for Pavement Structures, including reliability, traffic, soil support, serviceability, and concrete properties. It also includes chapters on overlay thickness design and life-cycle cost analysis [12]. 2.5 Comparison of PCA and AASHTO Methods Based on the study done by David L. Guell [13], several comparisons between PCA and AASHTO have been produced. However, there are only certain logical comparison can be done between them. One of the thickness comparisons produced as shown in Table 2.3 below. The table shows the comparison of the thickness produced by both methods with the axle load of Category three. It shows that, for lower traffic volume, PCA thickness is thicker, but when the traffic is higher, the AASHTO thickness is thicker. It also stated that, the rate of increase of slab thickness with volume for the AASHTO method is much greater than for the PCA method. Table 2.3: Comparison of PCA and AASHTO slab thickness [13] THICKNESS DUE TO TRAFFIC TRAFFIC AASHTO PCA VOLUME(Trucks) (inches) (inches) 200 6.9 7.9 1,460,000 7.5 8.4 800 8.8 8.4 5,840,000 9.4 8.9 1,600 9.7 8.3 11,680,000 10.4 8.8 19 There was also study conducted by Yang H. Huang [5] on the comparison of the methods. The study also found that it was difficult to compare both methods because AASHTO is based on reliability, using mean values for all variables, whereas the PCA method does not consider reliability but incorporates load safety factors and more conservative material properties. In the following comparison in Table 2.4, it is assumed that the pavement is subjected to only one type of axle load that is the same 18-kip single axle load, so the predominant mode of distress is fatigue cracking. Table 2.4: Comparison of PCA and AASHTO slab thickness [5] THICKNESS DUE TO TRAFFIC AASHTO AASHTO(ESAL) PCA(ESAL) (inches) 1.2E+05 5 <100 2.6 PCA (inches) 7.5 3.2E+06 6 500 7.9 7.4.E+06 7 3.0E+04 8.1 1.6E+07 8 5.0E+04 8.2 3.3E+07 9 >10E+7 8.3 Introduction to Visual Basic 6.0 Microsoft Visual Basic 6.0 was selected as a tool to develop the thickness design software because of its capability of doing object-oriented programming. It is a Microsoft Windows programming language. The programs are created in an Integrated Development Environment (IDE). The IDE allows the programmer to create, run and debug Visual Basic conveniently. IDE allows a programmer create working programs in a fraction of the time that it would normally take to code programs without using IDE. Visual Basic evolved from BASIC (Beginner’s Allpurpose Symbolic Instruction Code). BASIC was developed in the mid-1960s by Professors John Kemely and Thomas Kurtz of Dartmouth Collage as a language for writing simple programs, BASIC’s primary purpose was to help people learn how to program.[14] 20 Visual Basic was one of the first products to provide a graphical programming environment and a paint metaphor for developing user interfaces. Graphical user interfaces mean that users are presented with a desktop filled with little pictures called icons. Icons provide a visual guide to what the program can do. These icons placed on the form have their underlying code written into the program along with their properties and can react to different events such as mouse movements and button clicks, thus Visual Basic is sometimes called an event-driven language. An event must happen before Visual Basic will do anything. Event-driven programs are reactive more than active, and that makes them more user friendly. [15] CHAPTER 3 METHODOLOGY 3.1 Introduction In this chapter, the process and procedures on how this study will be carried out from beginning towards the end will be explained in detail. Initially, information needs to be collected in order to explore the background of the study. Next, selection of appropriate programming software for the development of this new software will be executed. The programming software should be able to recognize the requirement of the design method consequently carried out appropriate output. Microsoft Excel and Microsoft Visual Basic are the tools to be used as programming software in this study. Finally, after development of the software, verification of the developed software will be carried out in order to ensure accuracy of the software. Result from the software will be compared with manual calculation. Figure 3.1 shows the flow of this study. 22 START Preliminary study Problem Statement Study objective Literature review Software development PROGRAMMING SOFTWARE Microsoft Visual Basic Microsoft Excel Analysis No Result OK? Yes Discussion Report writing FINISH Report submission Figure 3.1: Study Flow Chart 23 3.2 Data Collection First of all, all the information related to the study was searched where the background of study can be explored thoroughly. Information from various types is recommended as we can widen the perspective in the study. The available sources are the library, internet, electronic database, magazine, newspapers, journal etc. One of the most reliable sources is verbal interview with the lecturers of from the related field. Several related data or information need to be collected before carried out this study. This is to ensure the study will be conducted smoothly. The important information required to achieve the study objectives were: x Design procedure of concrete pavement thickness by PCA x Design procedure of concrete pavement thickness by AASHTO x User Manual of Microsoft Visual Basic x User Manual of Microsoft Excel 3.3 Flow Chart of Rigid Pavement Thickness Design In order to make design and development of the software easier to be understood, it is necessary to present the steps and procedures in graphical form. Flow chart is common and preferable method to illustrate the design steps and procedure of software development. Figure 3.2 shows the design procedure of concrete pavement thickness design using PCA method. 24 START DESIGN INPUT 1. Traffic Data 2. 3. 4. 5. 6. Modulus of Subgrade Reaction, k Modulus of Rupture, Sc Design Period Load Safety Factor (LSF) Load Transfer Device TRIAL THICKNESS Yes FATIGUE ANALYSIS EROSION ANALYSIS Exceed 100%? Exceed 100%? Yes No ACCEPT TRIAL THICKNESS END Figure 3.2:PCA Method Flow Chart Meanwhile Figure 3.3 shows the flow chart of concrete pavement thickness design using AASHTO method. The design flow can be classified as direct calculation where by put in all the input, then directly obtained the thickness. 25 START DESIGN INPUT 1. 2. 3. 4. 5. 6. 7. 8. 9. elastic modulus of concrete (Ec) concrete modulus of rupture (Sc) load transfer coefficient (J) drainage coefficient (Cd) design serviceability loss (PSI) reliability (R) overall standard deviation (So) modulus of subgrade reaction (k) traffic data THICKNESS OBTAINED END Figure 3.3: AASHTO Method Flow Chart 3.4 Comparison of the PCA and AASHTO Methods First comparison of the methods was the concept applied in method itself. After that, comparison on the parameters used by the method has been analyzed. Finally, comparison of pavement thickness was done to select the economical thickness design. This step is the last step in the software. Although, it was difficult to compare between the methods, but there are certain condition that they are logic to be compared. The condition will be discussed in chapter 4. 26 3.5 Software Application Programming software used in this study is Microsoft Visual Basic 6.0. Basically Microsoft Visual Basic 6.0 developed entire software from the input until the result obtained. It is user friendly, and user can easily create interface of the software. The brief introduction of the software was discussed previously in chapter 2. Meanwhile, Microsoft Excel also been used for certain complicated calculation during the development of the software. It used to do a quick comparison after the software was successfully developed. All equation discussed in chapter 2 were used in order to develop this software. 3.5.1 Application of Microsoft Visual Basic Visual Basic is one of the most exciting developments in programming in many years. Visual Basic is the next generation of basic programming and is designed to make user-friendly programs easier to develop. This project consists of two main objects which are forms and module. Commonly, in a project there are several numbers of forms and only one module. The forms contained the coding and object part. The coding part is the place where the programmer gives an instruction to the project by using the standard language. The coding placed in the form is commonly unique and only used in the form. Meanwhile, the object part is where the programmer set the interface of the program. Module is used for general declaration; the coding placed in the module is usually shared among the forms in the same project. 27 3.5.2 Software Verification Test Once the software has been developed, verification is then carried out by comparing manual calculations with the calculation performed by the software. If there any calculation error produces by the software, it will be revised and amendment will be carried out. There are several verification test conducted for this software. It consists of comparison between: x manual calculation and software calculation for PCA method x manual calculation and software calculation for AASHTO method x calculation using AASHTO parameter and PCA parameter in order to produce PCA pavement thickness x calculation using AASHTO parameter and PCA parameter in order to produce AASHTO pavement thickness CHAPTER 4 FINDINGS AND DISCUSSION 4.1 Introduction This chapter presents the study on the parameters or variables used by the AASHTO and PCA in order to complete the design of pavement thickness. Identifying those parameters is the first step in developing AnP Pave Program. Further in this chapter, it will explain details on the AnP Pave Program. The explanation includes details on every menus and forms in the program. It also can be used as a guide for the users to conduct or operate the software. 4.2 AASHTO and PCA Method Parameters / Variables PCA method is based on general pavement design, performance, and research experience, including relationships to performance of pavements in AASHO Road Test and to studies pavement faulting [5]. It is accomplished by trial and error. A trial thickness is checked for allowable fatigue and allowable erosion. If either fatigue or erosion exceeds allowable limit, a thicker slab need to be considered. Meanwhile, if fatigue and erosion within the limit, a thinner slab should be evaluated in order to produce an economic design thickness. 29 Meanwhile, AASHTO method design is based on empirical equations obtained from AASHO Road Test, with further modifications based on theory and experience. The design method represented by the Equation 2.8. The simplified approach of the method is also available by the nomograph as shown in Figure 2.7. Table 4.1 shows the summary of the input variables or parameters required in AASHTO and PCA methods. Table 4.1: Input Parameters for AASHTO and PCA method PARAMETER Traffic Concrete Elastic Modulus, Ec Modulus of Subgrade Reaction, k Modulus of Rupture, Sc Load Transfer Drainage Coefficient, Cd Design Serviceability Loss, PSI Overall Standard Deviation, So Reliability, R or Standard Normal Deviate, ZR Load Safety Factor (LSF) AASHTO METHOD Total 18-kip ESAL Application, W18 PCA METHOD Total trucks User defined 4x106 psi (27600 MPa) User defined User defined User defined User defined User defined x Coefficient, J (Usually: 3.2 – 4.2) User defined x Dowel / Aggregateinterlock x Shoulder / No shoulder User defined - User defined - User defined - User defined - - Based on type of road and amount of trucks (1 - 1.3) Several parameters are also not considered in PCA method which are: x Drainage Coefficient, Cd x Design Serviceability Loss, PSI x Overall Standard Deviation, So x Reliability, R or x Standard Normal Deviate, ZR 30 From the parameters listed in the table above, only two parameters can be used directly to compare between both methods. The parameters are: x Modulus of Subgrade Reaction, k x Modulus of Rupture, Sc Meanwhile, conversion of traffic calculation needs to be carried out before the parameter can be used in order to compare between the methods. PCA method has fixed value of 4x106 psi (27600 MPa) for Concrete Elastic Modulus, Ec. Therefore, for the purpose of comparison, Concrete Elastic Modulus, Ec for AASHTO method also need to be set the same value. Although both methods have a same purpose which is to design thickness for rigid pavement, but there are several different parameters considered in design between the methods. Load transfers parameters for AASHTO method is representing by the value of Load Transfer Coefficient, J. On the other hand, for PCA method load transfer parameters considered either the pavement is doweled or aggregate-interlocked and either the pavement has shoulder or not. Load Safety Factor for PCA method need to be defined manually based on total of truck at specific type of road but safety factor for AASHTO method is built in the equation as well as the nomograph. Several parameters are also not considered in PCA method which are: x Drainage Coefficient, Cd x Design Serviceability Loss, PSI x Overall Standard Deviation, So x Reliability, R or x Standard Normal Deviate, ZR 31 4.3 AnP Pave Software After study on the parameters used in AASHTO and PCA method done, AnP Pave software was developed by using Microsoft Visual Basic 6.0. This software comprises of several menus and forms. The software is developed based on one module and ten forms. There is unique coding written for every form. Appendix B shows the VB coding written in the module. Some other important coding also included in the subsequent appendices. 4.3.1 Start Menu Figure 4.1 shows the start menu for this software. This menu introduces briefly about the software and software’s developers. Password is required to proceed to the next form. The purpose of the password is to ensure security or protection of the software. VB coding for this form can be refer at Appendix C. Figure 4.1: Start menu for AnP Pave software 32 4.3.2 Design Method Selection Menu As stated in the objectives in Clause 1.3, this program was design to make the design process be easier and faster compared with manual design. Although, many countries have been switched and practiced metric system but there also certain countries still keep on using customary system. Moreover, certain design references also maintain the customary system in design procedures. Therefore, this program offers both unit systems. Figure 4.2 shows the menu for the method and unit system selection. Users are able to select either want to use AASHTO method in metric or customary unit system, and either PCA method in metric or customary unit. Appendix D shows the VB coding of this form. Figure 4.2: Design Method Selection Menu 4.3.3 Traffic Input Data Form One of basic parameters in pavement design is traffic. Current traffic will be used to predict future traffic. The thickness design will depend directly on the future traffic. PCA method and AASHTO method use different unit of traffic which are trucks and ESAL respectively. Due to the different, two sets of traffic input data menu were developed. Figure 4.3(a) shows menu of traffic input data for PCA 33 method. Meanwhile Figure 4.3(b) shows menu of traffic input data menu for AASHTO method. There are five data required in this form, which are: x Average daily traffic per direction x Design period x Annual growth rate x Percentage of truck x Proportion of truck in design lane Figure 4.3(a): Traffic data input for PCA method By set in your value in this form, this program will calculate the amount of truck per day per direction and design truck for future traffic. All five data are compulsory to be set by user except for average daily traffic (ADT in 1direction) is optional if user has its own current amount of truck per day per direction (ADTT). The current ADTT can directly be set at the next form. 34 Figure 4.3(b): Traffic data input for AASHTO method The same traffic input data as in PCA required for the AASHTO method, except for ADT value. Instead of ADT, ESAL is required to be set in here. This program not provides conversion of ADT to ESAL directly because it required extensive information on vehicles and axles. 4.3.4 PCA Method - Input Data Form Figure 4.4 shows input data form for PCA method. In this form data required are as follows [3]: x Trial thickness x Subbase - Subgrade Reaction, k x Modulus of Rupture, Sc x Average Daily Truck Traffic, ADTT x Type of Road for Load Safety Factor x Dowel / Aggregate-Interlock Joint x Concrete Shoulder / No Concrete Shoulder Appendix E shows the VB coding of this form. 35 Figure 4.4: PCA method input data 4.3.5 PCA Method - Axle Data Form Figure 4.5 shows the axle data form for PCA method. In this form, users are required to fill in the axle load distribution which includes axle load and its distribution per 1000 trucks. The distribution consists of single and tandem axle. Besides, this form also provides an alternative solution for axle load distribution. This alternative solution is taken from PCA which have four categories. User can refer the description of every category by click the “Detail” command button at the form in order to select an appropriate category. Figure 4.6 shows the table that will be appears once the “Detail” command button was clicked. Appendix F shows the VB coding of this form. 36 Figure 4.5: PCA method axle data Figure 4.6: Description on traffic category in PCA 37 4.3.6 PCA Method – Result Form Figure 4.7 shows the results form of the PCA method. In this form recalculation is applicable in order to allow user to select the exact thickness value. By clicking the “Recalculate” command button, user can change the trial thickness, doweled or not and either have concrete shoulder or not. Figure 4.8 shows the form when “Recalculate” button is clicked. After reselect those three parameters, the software will recalculate the allowable fatigue and erosion simultaneously result form will appear again. Appendix G shows the VB coding of this form. Figure 4.7: PCA method result 38 Figure 4.8: PCA method recalculation 4.3.7 AASHTO Method – Input Data Form This form is an input form for AASHTO method. Figure 4.9 shows AASHTO method input data form. The parameters that are required to be filled by the user are as follows [3]: x Total 18-kip ESAL Application, W18 x Concrete Elastic Modulus, Ec x Modulus of Subgrade Reaction, k x Modulus of Rupture, Sc x Load Transfer Coefficient, J x Drainage Coefficient, Cd x Design Serviceability Loss, PSI 39 x Overall Standard Deviation, So x Standard Normal Deviate, ZR Appendix H shows the VB coding of this form. Figure 4.9: AASHTO method input data form 4.3.8 AASHTO Method – Result Form Figure 4.10 shows AASHTO method result form. This form is showing the calculation work done by the software. The result of the pavement thickness was obtained here. Appendix I shows the VB coding of this form. 40 Figure 4.10: AASHTO method result 4.3.9 PCA and AASHTO Results If the objective of this software’s user is to compare the design thickness between PCA and AASHTO method, Figure 4.11 is the ends form this software. This form shows the briefly the comparison between PCA and AASHTO methods in term of the input parameters and the final design thickness obtained by the software. 41 Figure 4.11: Comparison between PCA and AASHTO 4.4 Verification of AnP Pave Software Validation of new design software is compulsory in order to ensure the software produce the same output compare with manual design. The simple term is to ensure no hesitation output by the software. In this verification stage, the data used are as shown in Table 4.2. 42 Table 4.2: Input Parameters for AASHTO and PCA DATA AASHTO METHOD PCA METHOD Traffic Design ESAL =5.0 x106 ADTT = 117 trucks/day/direction or Design Traffic = 1.1 x 106 Concrete Elastic Modulus, Ec 4x106 psi 4x106 psi Modulus of Subgrade Reaction, k 100 pci 100 pci Modulus of Rupture, Sc 650 psi 650 psi Load Transfer J = 3.2 Dowelled joint without shoulder Drainage Coefficient, Cd 1.0 - Design Serviceability Loss, PSI 1.7 - Overall Standard Deviation, So 0.29 - Reliability, R or Standard Normal Deviate, ZR R = 95% or ZR = -1.645 - Load Safety Factor (LSF) - 1.2 Other general data required are: Design Period : 20 years Annual Growth Rate :5% Percentage of Truck : 13 % Proportion of truck in design lane : 0.81 First Verification Based on the data for AASHTO method stated in Table 4.2, design thickness given by AnP Pave software is 9.49 inches. Meanwhile by using the comparison option in software, design thickness for PCA method is 9.29 inches. Table 4.3 shows the result of this verification. Second Verification Second verification was by using data for PCA method in Table 4.2, design thickness from the Anp Pave is 9.29 inches while the AASHTO design thickness is 9.50 inches. The different is 0.21 inches compare with the thickness with AASHTO input data. The different occurred because of rounding of the ADTT value. The result is summarized in Table 4.3. 43 Third Verification Third verification was the comparison between the software thickness design values with manual thickness design value by AASHTO method. Based on the same input data, design thickness projected by AASHTO nomograph is 9.50 inches. It shows only 0.01 inches different between manual and software output which gave 9.49 inches. Appendix J shows the nomograph used as manual design approach. Table 4.3 shows the results of this verification. Forth Verification Forth verification is same as the third verification, but it specifically for PCA method. By using 9.5 inches as a trial thickness, total allowable fatigue and erosion given by the AnP Pave Software was 54.6 % and 4.8 % respectively. Meanwhile, the manual calculation by referring to the specific table and nomograph the total allowable fatigue and erosion is 50.9 % and 4.7 % respectively. These slight different may be due to the rounding of the number. Generally, manual design using rounded the value during calculation while software would calculate more precise using exact value. Besides, the value of trial thickness provided in the tables for manual calculation is also given in multiplication of 0.5 inches. Therefore, the software is more accurate compare with manual calculation. Table 4.4 shows the summary of the result of the verification. Manual design calculation is shown in Appendix K. Table 4.3: Comparison of design thickness for AASHTO and PCA method SOFTWARE Using AASHTO data Using PCA data MANUAL AASHTO METHOD 9.49 PCA METHOD 9.29 9.42 9.29 9.50 (allowable fatigue and erosion <100) 9.50 Table 4.4: Comparison of total fatigue and erosion for PCA method using AnP Pave and manual calculation TRIAL THICKNESS = 9.5 in FATIGUE (%) EROSION (%) SOFTWARE 54.6 4.8 MANUAL 50.9 4.6 44 Note that, the verification was only done in customary unit system. This is because calculation formula in the software is basically in customary unit system. Therefore, only verification between the customary units was carried out. Several conversion factors used to convert specified parameters in this software. The conversion factor used to convert the metric unit system to customary unit system and vice-versa. Table 4.5 below shows the units and the respective conversion factor. Table 4.5: Conversion factor between customary unit and metric unit [5] UNIT 4.5 CONVERSION FACTOR 1 inches 25.4 millimeter (mm) 1 psi 0.0069 Mega Pascal (MPa) 1 pci 0.2713 Mega Newton per Cubic Meter (MN/m3) 1 kips 4.448221615 Kilo Newton (kN) Comparison of Thickness Due to Traffic Economical pavement thickness corresponded to the thickness itself. The thicker the thickness means more expensive the pavement. Therefore, to have an economical thickness, comparison between the methods need to be performed. Although it is difficult to compare between AASHTO and PCA methods, but according to David L. Guell [12], the most logical comparison can be expressed as stated in Table 4.6 and Table 4.7 below. Meanwhile, Figure 4.12 and Figure 4.13 illustrate the result. All the thickness values were obtained from AnP Pave Software. From the graph in Figure 4.12, it shows that if the traffic is lower, the AASHTO thickness is lower than PCA thickness but AASHTO pavement is thicker compare with PCA pavement if the traffic is higher. Same pattern occurred for the second condition. However this clause only specified the comparison of the thickness for axle load in category three. Basically, the result represented the same pattern for all axle load category. 45 First Condition (Dowelled joint without concrete shoulder) If PCA condition is set as below: x Dowelled x Without Shoulder Then, Load Transfer Coefficient, J value for AASHTO = 3.2 Table 4.6: Comparison due to traffic for first condition THICKNESS DUE TO TRAFFIC TRAFFIC (ESALs) 5.E+05 1.E+06 5.E+06 1.E+07 3.E+07 AASHTO (inches) 6.37 7.26 9.49 10.56 12.47 PCA (inches) 8.04 8.24 8.74 8.98 9.38 Figure 4.12: Comparison due to traffic for first condition 46 Second Condition (Aggregate interlocked joint without concrete shoulder) If PCA condition is set as below: x Aggregate Interlocked x Without Shoulder Then, Load Transfer Coefficient, J value for AASHTO = 4.2 Table 4.7: Comparison due to traffic for second condition THICKNESS DUE TO TRAFFIC TRAFFIC (ESALs) 1.E+05 5.E+05 1.E+06 5.E+06 1.E+07 AASHTO (inches) 5.54 7.54 8.47 10.91 12.1 PCA (inches) 7.63 8.04 8.24 9.51 10.5 Figure 4.13: Comparison due to traffic for second condition CHAPTER 5 CONCLUSION AND RECOMMENDATION 5.1 Conclusion From this study, it can be concluded that although PCA and AASHTO have their own concept and parameters used, there are also same parameters considered in the design. The parameters are: x Modulus of Subgrade Reaction (k) x Modulus of Rupture (Sc) x Concrete Elastic Modulus (Ec) - Value for PCA method is fixed (4x106 psi). For purpose of comparison, AASHTO value needs to be set as 4x106 psi because x Traffic - For purpose of comparison, conversion is required for traffic calculation for each method. Based on the verification result, it shows that the software can be used as tools to design concrete pavement easier, faster and more accurate. In addition, comparison of the thickness due to traffic loading show that, it is more economical to used AASHTO method if the traffic is lower since the thickness is lower compare with PCA method thickness. However, for higher traffic, it is more economical to construct using PCA method because the AASHTO will produce thicker pavement. 48 5.2 Recommendation This study was conducted in short and limited time, thus, there are still several improvements can be done. In order to have a complete software for rigid pavement thickness design, extensive study with extensive time frame is required. It is hoped that further study will be conducted to include reinforcement design for concrete pavement. Besides, it is also hoped that printable design report can be produced by letter version of this software. 49 REFERENCES 1. Elaine Ang. C&CA on the road to boost cement sales. The Star. . 2006, October 23. Retrieved 3rd March 2009, from http://thestar.com.my 2. Delatte N. Concrete Pavement Design, Construction, and Performance. United States. Taylor & Francis. 2008 3. http://training.ce.washington.edu. Date Accessed: 3rd March 2009. 4. Glanville W. H. Concrete Roads Design and Construction.2nd Ed. London: Her Majesty’s Stationery Office. 1965 5. Huang, Y.H. Pavement Analysis and Design.2nd Ed. Upper Saddle River, NJ: Prentice-Hall. 2004 6. Paul H. Wright & Karen K, Dixon. Highway Engineering. 7th Ed. United States.: Wiley. 2004 7. Course on Concrete Road Pavement Design 2008. Kuala Lumpur. 17-18th November 2008 8. Ying-Haur Lee and Samuel H. Carpenter. PCAWIN Program for Jointed Concrete Pavement Design. Tamkang Journal of Science and Engineering. 2001. 4(4): 293-300. 9. Road Engineering Association of Malaysia. Guidelines to the Design of Plain Concrete Pavement. REAM-GL 7/2004. 2004 10. Randall-Reilly Publishing. Better Road Magazine. 2007. 11. John Duval. Debunking Streetpave’s Claim of an “Equivalent” Asphalt Design. Asphalt Institute. 2007 12. American Concrete Pavement Association. (2004). Title of article. Concrete Pavement Progress: Highway Issue, 40, 5. 13. David L. Guell, (1985). Comparison of Two Rigid Pavement Design Methods. Journal of Transportation Engineering. 111, 607-617. 14. H.M. Deitel, P.J. Deitel and T.R. Neito. Visual Basic 6 How to Program. Upper Saddle River, N. J.: Prentice-Hall. 1999 50 15. Aida Wee Sze Chia (2006). Software Development for Water Pricing Model. Master Degree Thesis. Universiti Teknologi Malaysia. Skudai. 51 APPENDIX A Table and Figure for pavement thickness design Using PCA Method 1. Modulus of subgrade reaction, k Table 1: Effect of Untreated Subbase on k Values Table 2: Design k Values for Cement-Treated Bases 52 2. Axle Load Distribution Table 3: Axle Load Distribution for a Given Facility 53 3. Fatigue Damage Table 4: Equivalent Stresses for Slabs without Concrete Shoulders Table 5: Equivalent Stresses for Slabs with Concrete Shoulders 54 Figure 1: Stress ratio factor vs. allowable load repetitions both with and without concrete shoulders 55 4. Erosion Damage Table 6: Erosion Factors for Slabs with Doweled Joints and no Concrete Shoulders Table 7: Erosion Factors for Slabs with Aggregate Interlock Joints and no Concrete Shoulders 56 4. Erosion Damage- con’t Table 8: Erosion Factors for Slabs with Doweled Joints and Concrete Shoulders Table 9: Erosion Factors for Slabs with Aggregate Interlock Joints and Concrete Shoulders 57 Figure 2: Erosion factor vs. allowable load repetitions without concrete shoulders 58 Figure 3: Erosion factor vs. allowable load repetitions with concrete shoulders 59 APPENDIX B Coding written in module (VB Coding) Public trialthickness As Single Public modulusk As Single Public modulusrupture As Single Public dperiod As Single Public adtt As Single Public radius As Single Const Slabmodulus As Single = 4000000# Const poissonratio As Single = 0.15 Public f2 As Single Public f6 As Single Public f7 As Single Const f3 As Single = 0.894 Const f4 As Single = 0.953 Public c2 As Single Public sal As Single Public tal As Single Public i As Integer Public srepeat(9) As Single Public trepeat(9) As Single Public voltraf As Single Public lsf As Single Public Sestress(9) As Single Public Tame As Single Public Same As Single Public ratiosa(9) As Single Public allowfatsa(9) As Single Public percentsa(9) As Single Public Tapc As Single Public Sapc As Single Public Sedeflect(9) As Single Public Testress(9) As Single Public ratiota(9) As Single Public allowfatta(9) As Single Public Tedeflect(9) As Single Public Powerta(9) As Single Public allowerota(9) As Single Public Powersa(9) As Single Public allowerosa(9) As Single Public amodulusk As Double Public aec As Double Public amodulusrupture As Double Public totalfat As Single Public totalero As Single 60 Public Sub expectrepeat(ByVal saptruck As Single, ByVal taptruck As Single, _ ByRef sexrepeat As Single, ByRef texrepeat As Single, ByRef vt As Single) adtt = Val(frmpca.txtadtt.Text) dperiod = Val(frmtraffic.txtdperiod.Text) growthrate = Val(frmtraffic.txtgrowthrate.Text) pf = (1 + (growthrate / 100)) ^ (0.5 * dperiod) lanedist = Val(frmtraffic.txtlanedist.Text) vt = adtt * pf * dperiod * 365 * lanedist sexrepeat = vt / 1000 * saptruck texrepeat = vt / 1000 * taptruck End Sub Public Sub radiusstiffness(ByVal modulusk As Single, ByVal trialthickness As Single, ByRef radius As Single) radius = (Slabmodulus * (trialthickness ^ 3) / (12 * (1 - (poissonratio ^ 2)) * modulusk)) ^ 0.25 End Sub Public Sub equivalentstress(ByRef allowfatsa As Single, ByRef allowfatta As Single) If frmunitsystem.optpuk.Value = True Then sa = Val(frmresult.lblsallsf(i).Caption / 4.448221615) ta = Val(frmresult.lbltallsf(i).Caption / 4.448221615) ElseIf frmunitsystem.optpus.Value = True Then sa = Val(frmresult.lblsallsf(i).Caption) ta = Val(frmresult.lbltallsf(i).Caption) End If Call declaration Sf1 = ((24 / sa) ^ 0.06) * (sa / 18) Tf1 = ((48 / ta) ^ 0.06) * (ta / 36) Sestress(i) = 6 * Same / (trialthickness ^ 2) * Sf1 * f2 * f3 * f4 Testress(i) = 6 * Tame / (trialthickness ^ 2) * Tf1 * f2 * f3 * f4 ratiosa(i) = Sestress(i) / modulusrupture ratiota(i) = Testress(i) / modulusrupture Call repeatnf(ratiosa(i), allowfatsa) Call repeatnf(ratiota(i), allowfatta) End Sub Public Sub repeatnf(ByVal x As Single, ByRef nf As Single) If x >= 0.55 Then nf = 10 ^ (11.737 - 12.077 * x) ElseIf 0.45 < x And x < 0.55 Then nf = (4.2577 / (x - 0.4325)) ^ 3.268 Else nf = 0 End If End Sub Public Sub equivalentdeflection(ByRef allowerosa As Single, ByRef allowerota As Single) If frmunitsystem.optpuk.Value = True Then sa = Val(frmresult.lblsallsf(i).Caption / 4.448221615) ta = Val(frmresult.lbltallsf(i).Caption / 4.448221615) ElseIf frmunitsystem.optpus.Value = True Then sa = Val(frmresult.lblsallsf(i).Caption) ta = Val(frmresult.lbltallsf(i).Caption) End If 61 Call declaration Sf5 = (sa / 18) Tf5 = (ta / 36) Sedeflect(i) = Sapc / modulusk * Sf5 * f6 * f7 Tedeflect(i) = Tapc / modulusk * Tf5 * f6 * f7 Powersa(i) = 268.7 * (modulusk ^ 1.27 * Sedeflect(i) ^ 2 / trialthickness) Powerta(i) = 268.7 * (modulusk ^ 1.27 * Tedeflect(i) ^ 2 / trialthickness) c1 = 1 - (modulusk / 2000 * 4 / trialthickness) ^ 2 Call repeatne(Powersa(i), c1, c2, allowerosa) Call repeatne(Powerta(i), c1, c2, allowerota) End Sub Public Sub repeatne(ByVal c As Single, ByVal y As Single, ByVal adj As Single, ByRef ne As Single) If c * y > 9 Then ne = 10 ^ (14.524 - 6.777 * (c * y - 9) ^ 0.103 - (Log(adj) / Log(10))) ElseIf c * y <= 9 Then ne = 0 End If End Sub Public Function total(ByRef p As Single, ByVal q As Single) p=p+q End Function Public Function declaration() If frmunitsystem.optpuk.Value = True Then trialthickness = Val(frmpca.txttrialthick.Text / 25.4) modulusrupture = Val(frmpca.txtmodulusrupture.Text / 0.0069) modulusk = Val(frmpca.txtmodulusk.Text / 0.2713) ElseIf frmunitsystem.optpus.Value = True Then trialthickness = Val(frmpca.txttrialthick.Text) modulusrupture = Val(frmpca.txtmodulusrupture.Text) modulusk = Val(frmpca.txtmodulusk.Text) End If End Function Public Sub equivalentstress1(ByRef allowfatsa As Single) If frmunitsystem.optpuk.Value = True Then sa = Val(frmresult.lblsallsf(i).Caption / 4.448221615) ElseIf frmunitsystem.optpus.Value = True Then sa = Val(frmresult.lblsallsf(i).Caption) End If Call declaration Sf1 = ((24 / sa) ^ 0.06) * (sa / 18) Sestress(i) = 6 * Same / (trialthickness ^ 2) * Sf1 * f2 * f3 * f4 ratiosa(i) = Sestress(i) / modulusrupture Call repeatnf(ratiosa(i), allowfatsa) End Sub Public Sub equivalentstress2(ByRef allowfatta As Single) 62 If frmunitsystem.optpuk.Value = True Then ta = Val(frmresult.lbltallsf(i).Caption / 4.448221615) ElseIf frmunitsystem.optpus.Value = True Then ta = Val(frmresult.lbltallsf(i).Caption) End If Call declaration Tf1 = ((48 / ta) ^ 0.06) * (ta / 36) Testress(i) = 6 * Tame / (trialthickness ^ 2) * Tf1 * f2 * f3 * f4 ratiota(i) = Testress(i) / modulusrupture Call repeatnf(ratiota(i), allowfatta) End Sub Public Sub equivalentdeflection1(ByRef allowerosa As Single) If frmunitsystem.optpuk.Value = True Then sa = Val(frmresult.lblsallsf(i).Caption / 4.448221615) ElseIf frmunitsystem.optpus.Value = True Then sa = Val(frmresult.lblsallsf(i).Caption) End If Call declaration Sf5 = (sa / 18) Sedeflect(i) = Sapc / modulusk * Sf5 * f6 * f7 Powersa(i) = 268.7 * (modulusk ^ 1.27 * Sedeflect(i) ^ 2 / trialthickness) c1 = 1 - (modulusk / 2000 * 4 / trialthickness) ^ 2 Call repeatne(Powersa(i), c1, c2, allowerosa) End Sub Public Sub equivalentdeflection2(ByRef allowerota As Single) If frmunitsystem.optpuk.Value = True Then ta = Val(frmresult.lbltallsf(i).Caption / 4.448221615) ElseIf frmunitsystem.optpus.Value = True Then ta = Val(frmresult.lbltallsf(i).Caption) End If Call declaration Tf5 = (ta / 36) Tedeflect(i) = Tapc / modulusk * Tf5 * f6 * f7 Powerta(i) = 268.7 * (modulusk ^ 1.27 * Tedeflect(i) ^ 2 / trialthickness) c1 = 1 - (modulusk / 2000 * 4 / trialthickness) ^ 2 Call repeatne(Powerta(i), c1, c2, allowerota) End Sub 63 APPENDIX C Coding written in Start Menu (VB Coding) Private Sub cmdmasuk_Click() Password = txtPassword.Text If Password = "123" Then Unload frmstart frmunitsystem.Show frmunitsystem.Show Else txtPassword.Text = "" txtPassword.SetFocus End If End Sub Private Sub Form_Load() lbldevelop.Caption = "Developed by:" lbl1.Caption = "Mohd Khairul Idham bin Mohd Satar" lbl2.Caption = "Assoc. Prof. Dr Mohd Rosli bin Hainin" lbl3.Caption = "Dr. Haryati bin Yaacob" End Sub Private Sub Timer1_Timer() ProgressBar1.Value = ProgressBar1.Value + 1 If ProgressBar1.Value >= ProgressBar1.Max Then Timer1.Enabled = False End If If ProgressBar1.Value = 80 Then txtPassword.Visible = True cmdmasuk.Visible = True ProgressBar1.Visible = False lblwait.Visible = False imgintro.Visible = True End If End Sub 64 APPENDIX D Coding written in Design Method Selection Menu (VB Coding) Private Sub cmdauk_Click() Unload frmunitsystem frmtraffic.Show frmtraffic.cmdok2.Visible = True frmtraffic.cmdok.Visible = False frmaashto.lblauk1.Visible = True frmaashto.lblauk2.Visible = True frmaashto.lblauk3.Visible = True optauk.Value = True optaus.Value = False frmtraffic.txtadt.Visible = False frmtraffic.Label3.Visible = False frmtraffic.Label2.Visible = False End Sub Private Sub cmdaus_Click() Unload frmunitsystem frmtraffic.Show frmtraffic.cmdok2.Visible = True frmtraffic.cmdok.Visible = False frmaashto.lblaus1.Visible = True frmaashto.lblaus2.Visible = True frmaashto.lblaus3.Visible = True optauk.Value = False optaus.Value = True frmtraffic.txtadt.Visible = False frmtraffic.Label3.Visible = False frmtraffic.Label2.Visible = False End Sub Private Sub cmduk_Click() Unload frmunitsystem frmtraffic.Show frmtraffic.cmdok2.Visible = False frmtraffic.cmdok.Visible = True frmpca.lbluk1.Visible = True frmpca.lbluk2.Visible = True frmpca.lbluk3.Visible = True optpuk.Value = True optpus.Value = False End Sub Private Sub cmdus_Click() Unload frmunitsystem frmtraffic.Show frmtraffic.cmdok2.Visible = False frmtraffic.cmdok.Visible = True frmpca.lblus1.Visible = True frmpca.lblus2.Visible = True 65 frmpca.lblus3.Visible = True optpuk.Value = False optpus.Value = True End Sub Private Sub Form_Load() lblfrmunitsystem.Caption = "AnP Pave - Method Selection" End Sub Private Sub cmdexit_Click() End End Sub 66 APPENDIX E Coding written in PCA Method - Input Data Form (VB Coding) Option Explicit Private Sub cmdback_Click() Unload Me Unload frmtraffic Unload frmunitsystem frmunitsystem.Show End Sub Private Sub cmdclear_Click() 'Clearing The Input txttrialthick.Text = "" txtmodulusk.Text = "" txtmodulusrupture.Text = "" txtadtt.Text = "" Opt1p3 = False Opt1p2 = False Opt1p1 = False Opt1p0 = False Optwithshoulder = False Optnoshoulder = False Optwithhdowel = False Optnodowel = False Opt1p3.TabStop = True Opt1p2.TabStop = True Opt1p1.TabStop = True Opt1p0.TabStop = True Optwithshoulder.TabStop = True Optnoshoulder.TabStop = True Optwithhdowel.TabStop = True Optnodowel.TabStop = True End Sub Private Sub cmdok_Click() frmpca.Hide frmaxle.Show End Sub Private Sub cmdok2_Click() If frmunitsystem.optpuk.Value = True Then frmresult.lblkn.Visible = True frmresult.lblkip.Visible = False frmresult.lblus1.Visible = False frmresult.lbluk1.Visible = True ElseIf frmunitsystem.optpus.Value = True Then frmresult.lblkn.Visible = False frmresult.lblkip.Visible = True frmresult.lblus1.Visible = True 67 frmresult.lbluk1.Visible = False End If frmresult.lbllsf.Caption = lsf frmpca.Hide frmaxle.cmdnext = True frmresult.Show End Sub Private Sub cmdok3_Click() If frmunitsystem.optpuk.Value = True Then frmresult.lblkn.Visible = True frmresult.lblkip.Visible = False frmresult.lblus1.Visible = False frmresult.lbluk1.Visible = True ElseIf frmunitsystem.optpus.Value = True Then frmresult.lblkn.Visible = False frmresult.lblkip.Visible = True frmresult.lblus1.Visible = True frmresult.lbluk1.Visible = False End If frmresult.lbllsf.Caption = lsf frmpca.Hide frmaxle.cmdnext2 = True frmresult.Show End Sub Private Sub Form_Load() lblfrmpca.Caption = "AnP Pave - PCA Method (Input Data)" End Sub Private Sub Opt1p0_click() lsf = 1# End Sub Private Sub Opt1p1_click() lsf = 1.1 End Sub Private Sub Opt1p2_click() lsf = 1.2 End Sub Private Sub Opt1p3_Click() lsf = 1.3 End Sub 68 Private Sub Optnodowel_Click() Call radiusstiffness(modulusk, trialthickness, radius) If Optnoshoulder = True Then Tapc = 1.847 + (213.68 / radius) + (1260.8 / radius ^ 2) + (22989 / radius ^ 3) Sapc = 1.571 + (46.127 / radius) + (4372.7 / radius ^ 2) - (22886 / radius ^ 3) f6 = 0.95 ElseIf Optwithshoulder = True Then Tapc = 1.47 + (102.2 / radius) - (1072 / radius ^ 2) + (14451 / radius ^ 3) Sapc = 0.5874 + (65.108 / radius) + (1130.9 / radius ^ 2) - (5245.8 / radius ^ 3) f6 = 1.001 - (0.26363 - (modulusk / 3034.5)) ^ 2 End If End Sub Private Sub Optnoshoulder_Click() frmedowel.Visible = True Call declaration f2 = 0.892 + trialthickness / 85.71 - trialthickness ^ 2 / 3000 f7 = 0.896 c2 = 0.06 Call radiusstiffness(modulusk, trialthickness, radius) Tame = 3029 - 2966.8 * (Log(radius) / Log(10)) + 133.69 * radius - 0.0632 * radius ^ 2 Same = -1600 + 2525 * (Log(radius) / Log(10)) + (24.42 * radius) + 0.204 * radius ^ 2 End Sub Private Sub Optwithhdowel_Click() Call radiusstiffness(modulusk, trialthickness, radius) If Optwithshoulder = True Then Tapc = 0.0345 + (146.25 / radius) - (2385.6 / radius ^ 2) + (23848 / radius ^ 3) Sapc = 0.018 + (72.99 / radius) + (323.1 / radius ^ 2) + (1620 / radius ^ 3) f6 = 1 ElseIf Optnoshoulder = True Then Tapc = 1.258 + (97.491 / radius) + (1484.1 / radius ^ 2) - (180 / radius ^ 3) Sapc = -0.3019 + (128.85 / radius) + (1105.8 / radius ^ 2) + (3269.1 / radius ^ 3) f6 = 1 End If End Sub Private Sub Optwithshoulder_Click() frmedowel.Visible = True Call declaration f2 = 1 f7 = 1 c2 = 0.94 Call radiusstiffness(modulusk, trialthickness, radius) Tame = (2005.4 - 1980.9 * (Log(radius) / Log(10)) + 99.008 * radius) * (0.8742 + 0.01088 * modulusk ^ 0.447) Same = (-970.4 + 1202.6 * (Log(radius) / Log(10)) + 53.587 * radius) * (0.8742 + 0.01088 * modulusk ^ 0.447) End Sub Private Sub cmdexit_Click() End End Sub 69 APPENDIX F Coding written in PCA Method PCA Method - Axle Data Form (VB Coding) Private Sub cmdback_Click() Unload Me Unload frmpca Unload frmtraffic Unload frmunitsystem frmunitsystem.Show End Sub Private Sub cmdcate1_Click() cmdnext.Visible = False cmdnext2.Visible = True cmdnext3.Visible = False cmdnext4.Visible = False frmpca.cmdok.Visible = False frmpca.cmdok3.Visible = True frmpca.cmdok3.Default = True frmresult.cmdcompare.Visible = False frmresult.cmdcompare2.Visible = True If frmunitsystem.optpuk.Value = True Then sal = 22 For i = 0 To 9 txtsal(i).Text = sal * 4.448221615 sal = sal - 2 Next i tal = 36 For i = 0 To 8 txttal(i).Text = tal * 4.448221615 tal = tal - 4 Next i ElseIf frmunitsystem.optpus.Value = True Then sal = 22 For i = 0 To 9 txtsal(i).Text = sal sal = sal - 2 Next i tal = 36 For i = 0 To 8 txttal(i).Text = tal tal = tal - 4 Next i End If txtsaptruck(0).Text = 0.96 txtsaptruck(1).Text = 4.23 txtsaptruck(2).Text = 15.81 txtsaptruck(3).Text = 38.02 txtsaptruck(4).Text = 56.11 txtsaptruck(5).Text = 124# 70 txtsaptruck(6).Text = 204.96 txtsaptruck(7).Text = 483.1 txtsaptruck(8).Text = 732.28 txtsaptruck(9).Text = 1693.31 txttaptruck(0).Text = 4.19 txttaptruck(1).Text = 69.59 txttaptruck(2).Text = 68.48 txttaptruck(3).Text = 39.18 txttaptruck(4).Text = 57.1 txttaptruck(5).Text = 75.02 txttaptruck(6).Text = 139.3 txttaptruck(7).Text = 85.59 txttaptruck(8).Text = 31.9 txttaptruck(9).Text = "" txttal(9).Text = "" cmdnext2.Enabled = True End Sub Private Sub cmdcate2_Click() cmdnext.Visible = True cmdnext2.Visible = False cmdnext3.Visible = False cmdnext4.Visible = False frmpca.cmdok.Visible = False frmpca.cmdok2.Visible = True frmpca.cmdok2.Default = True If frmunitsystem.optpuk.Value = True Then sal = 26 For i = 0 To 9 txtsal(i).Text = sal * 4.448221615 sal = sal - 2 Next i tal = 44 For i = 0 To 9 txttal(i).Text = tal * 4.448221615 tal = tal - 4 Next i ElseIf frmunitsystem.optpus.Value = True Then sal = 26 For i = 0 To 9 txtsal(i).Text = sal sal = sal - 2 Next i tal = 44 For i = 0 To 9 txttal(i).Text = tal tal = tal - 4 Next i End If txtsaptruck(0).Text = 0.07 txtsaptruck(1).Text = 1.6 71 txtsaptruck(2).Text = 2.6 txtsaptruck(3).Text = 6.63 txtsaptruck(4).Text = 16.61 txtsaptruck(5).Text = 23.88 txtsaptruck(6).Text = 47.76 txtsaptruck(7).Text = 116.76 txtsaptruck(8).Text = 142.7 txtsaptruck(9).Text = 233.6 txttaptruck(0).Text = 1.16 txttaptruck(1).Text = 7.76 txttaptruck(2).Text = 38.79 txttaptruck(3).Text = 54.76 txttaptruck(4).Text = 44.43 txttaptruck(5).Text = 30.74 txttaptruck(6).Text = 45 txttaptruck(7).Text = 59.25 txttaptruck(8).Text = 91.15 txttaptruck(9).Text = 47.01 cmdnext.Enabled = True End Sub Private Sub cmdcate3_Click() cmdnext.Visible = True cmdnext2.Visible = False cmdnext3.Visible = False cmdnext4.Visible = False frmpca.cmdok.Visible = False frmpca.cmdok2.Visible = True frmpca.cmdok2.Default = True If frmunitsystem.optpuk.Value = True Then sal = 30 For i = 0 To 9 txtsal(i).Text = sal * 4.448221615 sal = sal - 2 Next i tal = 52 For i = 0 To 9 txttal(i).Text = tal * 4.448221615 tal = tal - 4 Next i ElseIf frmunitsystem.optpus.Value = True Then sal = 30 For i = 0 To 9 txtsal(i).Text = sal sal = sal - 2 Next i tal = 52 For i = 0 To 9 txttal(i).Text = tal tal = tal - 4 Next i End If txtsaptruck(0).Text = 0.45 72 txtsaptruck(1).Text = 0.85 txtsaptruck(2).Text = 1.78 txtsaptruck(3).Text = 5.21 txtsaptruck(4).Text = 7.85 txtsaptruck(5).Text = 16.33 txtsaptruck(6).Text = 25.15 txtsaptruck(7).Text = 31.82 txtsaptruck(8).Text = 47.73 txtsaptruck(9).Text = 182.02 txttaptruck(0).Text = 1.19 txttaptruck(1).Text = 2.91 txttaptruck(2).Text = 8.01 txttaptruck(3).Text = 21.31 txttaptruck(4).Text = 56.25 txttaptruck(5).Text = 103.63 txttaptruck(6).Text = 121.22 txttaptruck(7).Text = 72.54 txttaptruck(8).Text = 85.94 txttaptruck(9).Text = 99.34 cmdnext.Enabled = True End Sub Private Sub cmdcate4_Click() cmdnext.Visible = True cmdnext2.Visible = False cmdnext3.Visible = False cmdnext4.Visible = False frmpca.cmdok.Visible = False frmpca.cmdok2.Visible = True frmpca.cmdok2.Default = True If frmunitsystem.optpuk.Value = True Then sal = 34 For i = 0 To 9 txtsal(i).Text = sal * 4.448221615 sal = sal - 2 Next i tal = 60 For i = 0 To 9 txttal(i).Text = tal * 4.448221615 tal = tal - 4 Next i ElseIf frmunitsystem.optpus.Value = True Then sal = 34 For i = 0 To 9 txtsal(i).Text = sal sal = sal - 2 Next i tal = 60 For i = 0 To 9 txttal(i).Text = tal tal = tal - 4 Next i End If 73 txtsaptruck(0).Text = 0.19 txtsaptruck(1).Text = 0.54 txtsaptruck(2).Text = 0.63 txtsaptruck(3).Text = 1.78 txtsaptruck(4).Text = 3.52 txtsaptruck(5).Text = 4.16 txtsaptruck(6).Text = 9.69 txtsaptruck(7).Text = 41.82 txtsaptruck(8).Text = 68.27 txtsaptruck(9).Text = 57.07 txttaptruck(0).Text = 0.57 txttaptruck(1).Text = 1.07 txttaptruck(2).Text = 1.79 txttaptruck(3).Text = 3.03 txttaptruck(4).Text = 3.52 txttaptruck(5).Text = 20.31 txttaptruck(6).Text = 78.19 txttaptruck(7).Text = 109.54 txttaptruck(8).Text = 95.79 txttaptruck(9).Text = 71.16 cmdnext.Enabled = True End Sub Private Sub cmddefault_Click() frmpca.cmdok.Visible = False frmpca.cmdok2.Visible = True cmdnext.Visible = True cmdnext2.Visible = False If frmunitsystem.optpuk.Value = True Then sal = 30 For i = 0 To 9 txtsal(i).Text = sal * 4.448221615 sal = sal - 2 Next i tal = 52 For i = 0 To 9 txttal(i).Text = tal * 4.448221615 tal = tal - 4 Next i ElseIf frmunitsystem.optpus.Value = True Then sal = 30 For i = 0 To 9 txtsal(i).Text = sal sal = sal - 2 Next i tal = 52 For i = 0 To 9 txttal(i).Text = tal tal = tal - 4 Next i End If txtsaptruck(0).Text = 0.58 txtsaptruck(1).Text = 1.35 txtsaptruck(2).Text = 2.77 74 txtsaptruck(3).Text = 5.92 txtsaptruck(4).Text = 9.83 txtsaptruck(5).Text = 21.67 txtsaptruck(6).Text = 28.24 txtsaptruck(7).Text = 38.83 txtsaptruck(8).Text = 53.94 txtsaptruck(9).Text = 168.85 txttaptruck(0).Text = 1.98 txttaptruck(1).Text = 3.94 txttaptruck(2).Text = 11.48 txttaptruck(3).Text = 34.27 txttaptruck(4).Text = 81.42 txttaptruck(5).Text = 85.54 txttaptruck(6).Text = 152.23 txttaptruck(7).Text = 90.52 txttaptruck(8).Text = 112.81 txttaptruck(9).Text = 124.69 cmdnext.Enabled = True End Sub Private Sub cmddetail_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) frmdetail.Show End Sub Private Sub cmddetail_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single) frmdetail.Hide End Sub Private Sub cmdexit_Click() End End Sub Private Sub cmdnext_Click() frmresult.txtthicknessresult.Text = frmpca.txttrialthick.Text frmresult.Optwithshoulder = frmpca.Optwithshoulder frmresult.Optnoshoulder = frmpca.Optnoshoulder frmresult.Optwithhdowel = frmpca.Optwithhdowel frmresult.Optnodowel = frmpca.Optnodowel frmresult.Show frmaxle.Hide For i = 0 To 9 saptruck = Val(txtsaptruck(i).Text) taptruck = Val(txttaptruck(i).Text) Call expectrepeat(saptruck, taptruck, srepeat(i), trepeat(i), voltraf) frmresult.lblsaexrepeat(i).Caption = Format(srepeat(i), " #0,000 ") frmresult.lbltaexrepeat(i).Caption = Format(trepeat(i), " #0,000 ") frmresult.lblsal(i).Caption = Format(txtsal(i).Text, "###0") frmresult.lbltal(i).Caption = Format(txttal(i).Text, "###0") frmresult.lblsallsf(i).Caption = Format(txtsal(i).Text * lsf, "###0.0") frmresult.lbltallsf(i).Caption = Format(txttal(i).Text * lsf, "###0.0") Call equivalentstress(allowfatsa(i), allowfatta(i)) frmresult.lblsafatallowrepeat(i).Caption = Format(allowfatsa(i), "0,000") frmresult.lbltafatallowrepeat(i).Caption = Format(allowfatta(i), "0,000") 75 Call equivalentdeflection(allowerosa(i), allowerota(i)) frmresult.lblsaeroallowrepeat(i).Caption = Format(allowerosa(i), "0,000") frmresult.lbltaeroallowrepeat(i).Caption = Format(allowerota(i), "0,000") If allowfatsa(i) <> 0 Then frmresult.lblsafatpercent(i).Caption = Format(srepeat(i) / allowfatsa(i) * 100, "###0.0") Else frmresult.lblsafatpercent(i).Caption = Format(0, "###0.0") End If If allowfatta(i) <> 0 Then frmresult.lbltafatpercent(i).Caption = Format(trepeat(i) / allowfatta(i) * 100, "###0.0") Else frmresult.lbltafatpercent(i).Caption = Format(0, "###0.0") End If If allowerosa(i) <> 0 Then frmresult.lblsaeropercent(i).Caption = Format(srepeat(i) / allowerosa(i) * 100, "###0.0") Else frmresult.lblsaeropercent(i).Caption = Format(0, "###0.0") End If If allowerota(i) <> 0 Then frmresult.lbltaeropercent(i).Caption = Format(trepeat(i) / allowerota(i) * 100, "###0.0") Else frmresult.lbltaeropercent(i).Caption = Format(0, "###0.0") End If Dim safatpercent(9) As Single Dim tafatpercent(9) As Single Dim totalfatsa As Single Dim totalfatta As Single Dim totalfat As Single safatpercent(i) = Val(frmresult.lblsafatpercent(i).Caption) tafatpercent(i) = Val(frmresult.lbltafatpercent(i).Caption) Call total(totalfatsa, safatpercent(i)) Call total(totalfatta, tafatpercent(i)) Dim saeropercent(9) As Single Dim taeropercent(9) As Single Dim totalerosa As Single Dim totalerota As Single Dim totalero As Single saeropercent(i) = Val(frmresult.lblsaeropercent(i).Caption) taeropercent(i) = Val(frmresult.lbltaeropercent(i).Caption) Call total(totalerosa, saeropercent(i)) Call total(totalerota, taeropercent(i)) Next i totalfat = totalfatsa + totalfatta frmresult.lbltotalfat.Caption = Format(totalfat, "###0.0") totalero = totalerosa + totalerota frmresult.lbltotalero.Caption = Format(totalero, "###0.0") frmpca.txttrialthick.Text = "" End Sub Private Sub cmdnext2_Click() frmresult.txtthicknessresult.Text = frmpca.txttrialthick.Text frmresult.Optwithshoulder = frmpca.Optwithshoulder 76 frmresult.Optnoshoulder = frmpca.Optnoshoulder frmresult.Optwithhdowel = frmpca.Optwithhdowel frmresult.Optnodowel = frmpca.Optnodowel frmresult.Show frmaxle.Hide For i = 0 To 9 saptruck = Val(txtsaptruck(i).Text) Call expectrepeat(saptruck, taptruck, srepeat(i), trepeat(i), voltraf) frmresult.lblsaexrepeat(i).Caption = Format(srepeat(i), " #0,000 ") frmresult.lblsal(i).Caption = Format(txtsal(i).Text, "###0") frmresult.lblsallsf(i).Caption = Format(txtsal(i).Text * lsf, "###0.0") Call equivalentstress1(allowfatsa(i)) frmresult.lblsafatallowrepeat(i).Caption = Format(allowfatsa(i), "0,000") Call equivalentdeflection1(allowerosa(i)) frmresult.lblsaeroallowrepeat(i).Caption = Format(allowerosa(i), "0,000") If allowfatsa(i) <> 0 Then frmresult.lblsafatpercent(i).Caption = Format(srepeat(i) / allowfatsa(i) * 100, "###0.0") Else frmresult.lblsafatpercent(i).Caption = Format(0, "###0.0") End If If allowerosa(i) <> 0 Then frmresult.lblsaeropercent(i).Caption = Format(srepeat(i) / allowerosa(i) * 100, "###0.0") Else frmresult.lblsaeropercent(i).Caption = Format(0, "###0.0") End If Dim safatpercent(9) As Single Dim totalfatsa As Single safatpercent(i) = Val(frmresult.lblsafatpercent(i).Caption) Call total(totalfatsa, safatpercent(i)) Dim saeropercent(9) As Single Dim totalerosa As Single saeropercent(i) = Val(frmresult.lblsaeropercent(i).Caption) Call total(totalerosa, saeropercent(i)) Next i For i = 0 To 8 taptruck = Val(txttaptruck(i).Text) Call expectrepeat(saptruck, taptruck, srepeat(i), trepeat(i), voltraf) frmresult.lbltaexrepeat(i).Caption = Format(trepeat(i), " #0,000 ") frmresult.lbltal(i).Caption = Format(txttal(i).Text, "###0") frmresult.lbltallsf(i).Caption = Format(txttal(i).Text * lsf, "###0.0") Call equivalentstress2(allowfatta(i)) 77 frmresult.lbltafatallowrepeat(i).Caption = Format(allowfatta(i), "0,000") Call equivalentdeflection2(allowerota(i)) frmresult.lbltaeroallowrepeat(i).Caption = Format(allowerota(i), "0,000") If allowfatta(i) <> 0 Then frmresult.lbltafatpercent(i).Caption = Format(trepeat(i) / allowfatta(i) * 100, "###0.0") Else frmresult.lbltafatpercent(i).Caption = Format(0, "###0.0") End If If allowerota(i) <> 0 Then frmresult.lbltaeropercent(i).Caption = Format(trepeat(i) / allowerota(i) * 100, "###0.0") Else frmresult.lbltaeropercent(i).Caption = Format(0, "###0.0") End If Dim tafatpercent(8) As Single Dim totalfatta As Single tafatpercent(i) = Val(frmresult.lbltafatpercent(i).Caption) Call total(totalfatta, tafatpercent(i)) Dim taeropercent(8) As Single Dim totalerota As Single taeropercent(i) = Val(frmresult.lbltaeropercent(i).Caption) Call total(totalerota, taeropercent(i)) Next i Dim totalfat As Single Dim totalero As Single totalfat = totalfatsa + totalfatta frmresult.lbltotalfat.Caption = Format(totalfat, "###0.0") totalero = totalerosa + totalerota frmresult.lbltotalero.Caption = Format(totalero, "###0.0") frmpca.txttrialthick.Text = "" End Sub Private Sub cmdnext3_Click() For i = 0 To 9 Dim sal(9) As Single Dim tal(9) As Single Dim totalsap As Single Dim totaltap As Single Dim esalsap(9) As Single Dim esaltap(9) As Single Dim esaltotalsap As Single Dim esaltotaltap As Single Dim totalesal As Single Dim saptruck1(9) As Single Dim taptruck1(9) As Single Dim esal As Single Dim adtt As Single dperiod = Val(frmtraffic.txtdperiod.Text) growthrate = Val(frmtraffic.txtgrowthrate.Text) pf = (1 + (growthrate / 100)) ^ (0.5 * dperiod) 78 lanedist = Val(frmtraffic.txtlanedist.Text) esal = frmaashto.txtawt.Text If frmunitsystem.optpuk.Value = True Then sal(i) = Val((frmaxle.txtsal(i).Text / 4.448221615 / 18) ^ 4) tal(i) = Val((frmaxle.txttal(i).Text / 4.448221615 / 18) ^ 4) ElseIf frmunitsystem.optpus.Value = True Then sal(i) = Val(frmaxle.txtsal(i).Text / 18) ^ 4 tal(i) = Val(frmaxle.txttal(i).Text / 18) ^ 4 End If saptruck1(i) = Val(frmaxle.txtsaptruck(i).Text) taptruck1(i) = Val(frmaxle.txttaptruck(i).Text) Next i For i = 0 To 9 esalsap(i) = saptruck1(i) * sal(i) esaltap(i) = taptruck1(i) * tal(i) Call total(esaltotalsap, esalsap(i)) Call total(esaltotaltap, esaltap(i)) Next i adtt = esal / (esaltotalsap + esaltotaltap) * 1000 / pf / dperiod / 365 / lanedist frmpca.txtadtt.Text = adtt frmaresult.cmdacompnext.Visible = True frmaresult.cmdacompnext.Default = True frmaresult.cmdacompare.Visible = False frmpca.Show If frmunitsystem.optauk.Value = True Then frmunitsystem.cmduk = True ElseIf frmunitsystem.optaus.Value = True Then frmunitsystem.cmdus = True End If frmpca.txtmodulusk.Text = frmaashto.txtamodulusk.Text frmpca.txtmodulusrupture.Text = frmaashto.txtamodulusrupture.Text frmcomparison.lblmoduluskcomp.Caption = frmpca.txtmodulusk.Text frmcomparison.lblmodulusrupturecomp.Caption = frmpca.txtmodulusrupture.Text frmpca.Show frmaxle.Hide End Sub Private Sub cmdnext4_Click() Dim sal(9) As Single Dim tal(8) As Single Dim totalsap As Single Dim totaltap As Single Dim esalsap(9) As Single Dim esaltap(8) As Single Dim esaltotalsap As Single Dim esaltotaltap As Single Dim totalesal As Single Dim saptruck1(9) As Single Dim taptruck1(8) As Single 79 Dim esal As Single Dim adtt As Single dperiod = Val(frmtraffic.txtdperiod.Text) growthrate = Val(frmtraffic.txtgrowthrate.Text) pf = (1 + (growthrate / 100)) ^ (0.5 * dperiod) lanedist = Val(frmtraffic.txtlanedist.Text) esal = frmaashto.txtawt.Text For i = 0 To 9 If frmunitsystem.optpuk.Value = True Then sal(i) = Val((frmaxle.txtsal(i).Text / 4.448221615 / 18) ^ 4) ElseIf frmunitsystem.optpus.Value = True Then sal(i) = Val(frmaxle.txtsal(i).Text / 18) ^ 4 End If saptruck1(i) = Val(frmaxle.txtsaptruck(i).Text) Next i For i = 0 To 9 esalsap(i) = saptruck1(i) * sal(i) Call total(esaltotalsap, esalsap(i)) Next i For i = 0 To 8 If frmunitsystem.optpuk.Value = True Then tal(i) = Val((frmaxle.txttal(i).Text / 4.448221615 / 18) ^ 4) ElseIf frmunitsystem.optpus.Value = True Then tal(i) = Val(frmaxle.txttal(i).Text / 18) ^ 4 End If taptruck1(i) = Val(frmaxle.txttaptruck(i).Text) Next i For i = 0 To 8 esaltap(i) = taptruck1(i) * tal(i) Call total(esaltotaltap, esaltap(i)) Next i adtt = esal / (esaltotalsap + esaltotaltap) * 1000 / pf / dperiod / 365 / lanedist frmpca.txtadtt.Text = adtt frmaresult.cmdacompnext.Visible = True frmaresult.cmdacompnext.Default = True frmaresult.cmdacompare.Visible = False frmpca.Show If frmunitsystem.optauk.Value = True Then frmunitsystem.cmduk = True ElseIf frmunitsystem.optaus.Value = True Then frmunitsystem.cmdus = True End If frmpca.txtmodulusk.Text = frmaashto.txtamodulusk.Text frmpca.txtmodulusrupture.Text = frmaashto.txtamodulusrupture.Text frmcomparison.lblmoduluskcomp.Caption = frmpca.txtmodulusk.Text frmcomparison.lblmodulusrupturecomp.Caption = frmpca.txtmodulusrupture.Text frmpca.Show frmaxle.Hide End Sub 80 Private Sub Form_Load() lblfrmaxle.Caption = "AnP Pave - PCA Method (Axle Data)" If frmunitsystem.optpuk.Value = True Then frmaxle.lblkn.Visible = True frmaxle.lblkip.Visible = False frmaxle.lblkn1.Visible = True frmaxle.lblkip1.Visible = False ElseIf frmunitsystem.optpus.Value = True Then frmaxle.lblkn.Visible = False frmaxle.lblkip.Visible = True frmaxle.lblkn1.Visible = False frmaxle.lblkip1.Visible = True End If End Sub Private Sub cmdcate11_Click() cmdnext.Visible = False cmdnext2.Visible = False cmdnext3.Visible = False cmdnext4.Visible = True frmpca.cmdok.Visible = False frmpca.cmdok3.Visible = True frmpca.cmdok3.Default = True frmresult.cmdcompare.Visible = False frmresult.cmdcompare2.Visible = False If frmunitsystem.optpuk.Value = True Then sal = 22 For i = 0 To 9 txtsal(i).Text = sal * 4.448221615 sal = sal - 2 Next i tal = 36 For i = 0 To 8 txttal(i).Text = tal * 4.448221615 tal = tal - 4 Next i ElseIf frmunitsystem.optpus.Value = True Then sal = 22 For i = 0 To 9 txtsal(i).Text = sal sal = sal - 2 Next i tal = 36 For i = 0 To 8 txttal(i).Text = tal tal = tal - 4 Next i End If txtsaptruck(0).Text = 0.96 txtsaptruck(1).Text = 4.23 txtsaptruck(2).Text = 15.81 txtsaptruck(3).Text = 38.02 txtsaptruck(4).Text = 56.11 txtsaptruck(5).Text = 124# txtsaptruck(6).Text = 204.96 81 txtsaptruck(7).Text = 483.1 txtsaptruck(8).Text = 732.28 txtsaptruck(9).Text = 1693.31 txttaptruck(0).Text = 4.19 txttaptruck(1).Text = 69.59 txttaptruck(2).Text = 68.48 txttaptruck(3).Text = 39.18 txttaptruck(4).Text = 57.1 txttaptruck(5).Text = 75.02 txttaptruck(6).Text = 139.3 txttaptruck(7).Text = 85.59 txttaptruck(8).Text = 31.9 txttaptruck(9).Text = "" txttal(9).Text = "" cmdnext2.Enabled = True End Sub Private Sub cmdcate21_Click() cmdnext.Visible = False cmdnext2.Visible = False cmdnext3.Visible = True cmdnext4.Visible = False frmpca.cmdok.Visible = False frmpca.cmdok2.Visible = True frmpca.cmdok2.Default = True If frmunitsystem.optpuk.Value = True Then sal = 26 For i = 0 To 9 txtsal(i).Text = sal * 4.448221615 sal = sal - 2 Next i tal = 44 For i = 0 To 9 txttal(i).Text = tal * 4.448221615 tal = tal - 4 Next i ElseIf frmunitsystem.optpus.Value = True Then sal = 26 For i = 0 To 9 txtsal(i).Text = sal sal = sal - 2 Next i tal = 44 For i = 0 To 9 txttal(i).Text = tal tal = tal - 4 Next i End If txtsaptruck(0).Text = 0.07 txtsaptruck(1).Text = 1.6 txtsaptruck(2).Text = 2.6 82 txtsaptruck(3).Text = 6.63 txtsaptruck(4).Text = 16.61 txtsaptruck(5).Text = 23.88 txtsaptruck(6).Text = 47.76 txtsaptruck(7).Text = 116.76 txtsaptruck(8).Text = 142.7 txtsaptruck(9).Text = 233.6 txttaptruck(0).Text = 1.16 txttaptruck(1).Text = 7.76 txttaptruck(2).Text = 38.79 txttaptruck(3).Text = 54.76 txttaptruck(4).Text = 44.43 txttaptruck(5).Text = 30.74 txttaptruck(6).Text = 45 txttaptruck(7).Text = 59.25 txttaptruck(8).Text = 91.15 txttaptruck(9).Text = 47.01 cmdnext.Enabled = True End Sub Private Sub cmdcate31_Click() cmdnext.Visible = False cmdnext2.Visible = False cmdnext3.Visible = True cmdnext4.Visible = False frmpca.cmdok.Visible = False frmpca.cmdok2.Visible = True frmpca.cmdok2.Default = True If frmunitsystem.optpuk.Value = True Then sal = 30 For i = 0 To 9 txtsal(i).Text = sal * 4.448221615 sal = sal - 2 Next i tal = 52 For i = 0 To 9 txttal(i).Text = tal * 4.448221615 tal = tal - 4 Next i ElseIf frmunitsystem.optpus.Value = True Then sal = 30 For i = 0 To 9 txtsal(i).Text = sal sal = sal - 2 Next i tal = 52 For i = 0 To 9 txttal(i).Text = tal tal = tal - 4 Next i End If txtsaptruck(0).Text = 0.45 txtsaptruck(1).Text = 0.85 txtsaptruck(2).Text = 1.78 83 txtsaptruck(3).Text = 5.21 txtsaptruck(4).Text = 7.85 txtsaptruck(5).Text = 16.33 txtsaptruck(6).Text = 25.15 txtsaptruck(7).Text = 31.82 txtsaptruck(8).Text = 47.73 txtsaptruck(9).Text = 182.02 txttaptruck(0).Text = 1.19 txttaptruck(1).Text = 2.91 txttaptruck(2).Text = 8.01 txttaptruck(3).Text = 21.31 txttaptruck(4).Text = 56.25 txttaptruck(5).Text = 103.63 txttaptruck(6).Text = 121.22 txttaptruck(7).Text = 72.54 txttaptruck(8).Text = 85.94 txttaptruck(9).Text = 99.34 cmdnext.Enabled = True End Sub Private Sub cmdcate41_Click() cmdnext.Visible = False cmdnext2.Visible = False cmdnext3.Visible = True cmdnext4.Visible = False frmpca.cmdok.Visible = False frmpca.cmdok2.Visible = True frmpca.cmdok2.Default = True If frmunitsystem.optpuk.Value = True Then sal = 34 For i = 0 To 9 txtsal(i).Text = sal * 4.448221615 sal = sal - 2 Next i tal = 60 For i = 0 To 9 txttal(i).Text = tal * 4.448221615 tal = tal - 4 Next i ElseIf frmunitsystem.optpus.Value = True Then sal = 34 For i = 0 To 9 txtsal(i).Text = sal sal = sal - 2 Next i tal = 60 For i = 0 To 9 txttal(i).Text = tal tal = tal - 4 Next i End If txtsaptruck(0).Text = 0.19 txtsaptruck(1).Text = 0.54 txtsaptruck(2).Text = 0.63 84 txtsaptruck(3).Text = 1.78 txtsaptruck(4).Text = 3.52 txtsaptruck(5).Text = 4.16 txtsaptruck(6).Text = 9.69 txtsaptruck(7).Text = 41.82 txtsaptruck(8).Text = 68.27 txtsaptruck(9).Text = 57.07 txttaptruck(0).Text = 0.57 txttaptruck(1).Text = 1.07 txttaptruck(2).Text = 1.79 txttaptruck(3).Text = 3.03 txttaptruck(4).Text = 3.52 txttaptruck(5).Text = 20.31 txttaptruck(6).Text = 78.19 txttaptruck(7).Text = 109.54 txttaptruck(8).Text = 95.79 txttaptruck(9).Text = 71.16 cmdnext.Enabled = True End Sub 85 APPENDIX G Coding written in PCA Method – Result Form (VB Coding) Private Sub cmdcompare_Click() For i = 0 To 9 Dim sal(9) As Single Dim tal(9) As Single Dim totalsap As Single Dim totaltap As Single Dim esalsap(9) As Single Dim esaltap(9) As Single Dim esaltotalsap As Single Dim esaltotaltap As Single Dim totalesal As Single Dim saptruck1(9) As Single Dim taptruck1(9) As Single If frmunitsystem.optpuk.Value = True Then sal(i) = Val((frmaxle.txtsal(i).Text / 4.448221615 / 18) ^ 4) tal(i) = Val((frmaxle.txttal(i).Text / 4.448221615 / 18) ^ 4) ElseIf frmunitsystem.optpus.Value = True Then sal(i) = Val(frmaxle.txtsal(i).Text / 18) ^ 4 tal(i) = Val(frmaxle.txttal(i).Text / 18) ^ 4 End If saptruck1(i) = Val(frmaxle.txtsaptruck(i).Text) taptruck1(i) = Val(frmaxle.txttaptruck(i).Text) Next i For i = 0 To 9 esalsap(i) = saptruck1(i) * sal(i) esaltap(i) = taptruck1(i) * tal(i) Call total(esaltotalsap, esalsap(i)) Call total(esaltotaltap, esaltap(i)) Call expectrepeat(saptruck, taptruck, srepeat(i), trepeat(i), voltraf) Next i frmaashto.txtawt.Text = (esaltotalsap + esaltotaltap) / 1000 * voltraf frmaresult.cmdacompnext.Visible = True frmaresult.cmdacompnext.Default = True frmaresult.cmdacompare.Visible = False If frmunitsystem.optpuk.Value = True Then frmunitsystem.cmdauk = True ElseIf frmunitsystem.optpus.Value = True Then frmunitsystem.cmdaus = True End If frmaashto.txtamodulusk.Text = frmpca.txtmodulusk.Text frmaashto.txtamodulusrupture.Text = frmpca.txtmodulusrupture.Text frmaashto.txtamodulusk.Enabled = False frmaashto.txtamodulusrupture.Enabled = False frmcomparison.lblmoduluskcomp.Caption = frmpca.txtmodulusk.Text frmcomparison.lblmodulusrupturecomp.Caption = frmpca.txtmodulusrupture.Text 86 frmresult.Hide frmaashto.Hide frmtraffic.Label3.Visible = False frmtraffic.Label2.Visible = False frmtraffic.txtadt.Visible = False End Sub Private Sub cmdcompare2_Click() Dim sal(9) As Single Dim tal(8) As Single Dim totalsap As Single Dim totaltap As Single Dim esalsap(9) As Single Dim esaltap(8) As Single Dim esaltotalsap As Single Dim esaltotaltap As Single Dim totalesal As Single Dim saptruck1(9) As Single Dim taptruck1(8) As Single Dim totalsaptap As Single For i = 0 To 9 If frmunitsystem.optpuk.Value = True Then sal(i) = Val((frmaxle.txtsal(i).Text / 4.448221615 / 18) ^ 4) ElseIf frmunitsystem.optpus.Value = True Then sal(i) = Val(frmaxle.txtsal(i).Text / 18) ^ 4 End If saptruck1(i) = Val(frmaxle.txtsaptruck(i).Text) Next i For i = 0 To 9 esalsap(i) = saptruck1(i) * sal(i) Call total(esaltotalsap, esalsap(i)) Call expectrepeat(saptruck, taptruck, srepeat(i), trepeat(i), voltraf) Next i For i = 0 To 8 If frmunitsystem.optpuk.Value = True Then tal(i) = Val((frmaxle.txttal(i).Text / 4.448221615 / 18) ^ 4) ElseIf frmunitsystem.optpus.Value = True Then tal(i) = Val(frmaxle.txttal(i).Text / 18) ^ 4 End If taptruck1(i) = Val(frmaxle.txttaptruck(i).Text) Next i For i = 0 To 8 esaltap(i) = taptruck1(i) * tal(i) Call total(esaltotaltap, esaltap(i)) Call expectrepeat(saptruck, taptruck, srepeat(i), trepeat(i), voltraf) Next i frmaashto.txtawt.Text = (esaltotalsap + esaltotaltap) / 1000 * voltraf frmaresult.cmdacompnext.Visible = True frmaresult.cmdacompnext.Default = True frmaresult.cmdacompare.Visible = False 87 frmresult.Hide frmaashto.Show If frmunitsystem.optpuk.Value = True Then frmunitsystem.cmdauk = True frmunitsystem.cmdauk.Default = True frmunitsystem.cmdaus.Enabled = False frmunitsystem.cmdus.Enabled = False frmunitsystem.cmduk.Enabled = False ElseIf frmunitsystem.optpus.Value = True Then frmunitsystem.cmdaus = True frmunitsystem.cmdaus.Default = True frmunitsystem.cmdauk.Enabled = False frmunitsystem.cmdus.Enabled = False frmunitsystem.cmduk.Enabled = False End If frmaashto.txtamodulusk.Text = frmpca.txtmodulusk.Text frmaashto.txtamodulusrupture.Text = frmpca.txtmodulusrupture.Text frmaashto.txtamodulusk.Enabled = False frmaashto.txtamodulusrupture.Enabled = False frmcomparison.lblmoduluskcomp.Caption = frmpca.txtmodulusk.Text frmcomparison.lblmodulusrupturecomp.Caption = frmpca.txtmodulusrupture.Text frmresult.Hide frmaashto.Hide frmtraffic.Label3.Visible = False frmtraffic.Label2.Visible = False frmtraffic.txtadt.Visible = False End Sub Private Sub cmdexit_Click() End End Sub Private Sub cmdpcompnext_Click() frmresult.Hide frmcomparison.Show frmcomparison.lblpcomp.Caption = frmresult.txtthicknessresult.Text frmcomparison.lblelasticcompa.Caption = Format(frmaashto.txtaec.Text, "#.##E+0") frmcomparison.lblcomploadtransfer.Caption = frmaashto.txtaj.Text frmcomparison.lblcomppsi.Caption = frmaashto.txtapsi.Text frmcomparison.lblcompcd.Caption = frmaashto.txtacd.Text frmcomparison.lblcompso.Caption = frmaashto.txtaso.Text frmcomparison.lblcompzr.Caption = frmaashto.txtazr.Text frmcomparison.lblcomplsf.Caption = frmresult.lbllsf.Caption frmcomparison.lblcompreliability.Caption = frmaashto.comboazr.Text If frmresult.Optnoshoulder = True Then frmcomparison.lblcompshoulder.Caption = "NO SHOULDER" ElseIf frmresult.Optwithhdowel = True Then frmcomparison.lblcompshoulder.Caption = "WITH SHOULDER" End If If frmresult.Optnodowel = True Then frmcomparison.lblcompdowel.Caption = "AGGREGATE INTERLOCK JOINT" ElseIf frmresult.Optwithhdowel = True Then frmcomparison.lblcompdowel.Caption = "WITH DOWEL JOINT" 88 End If If frmunitsystem.optpuk.Value = True Then frmcomparison.lblacomp.Caption = frmaresult.lblathicknessuk.Caption frmcomparison.lblelasticcompp.Caption = Format(28000, "#.##E+0") frmcomparison.lblpcompinch.Visible = False frmcomparison.lblpcompmm.Visible = True frmcomparison.lblacompinch.Visible = False frmcomparison.lblacompmm.Visible = True frmcomparison.imgpci.Visible = False frmcomparison.imgmn.Visible = True frmcomparison.imgmpa.Visible = True frmcomparison.imgpsi.Visible = False frmcomparison.imgmpa1.Visible = True frmcomparison.imgpsi1.Visible = False ElseIf frmunitsystem.optpus.Value = True Then frmcomparison.lblacomp.Caption = frmaresult.lblathickness(0).Caption frmcomparison.lblelasticcompp.Caption = Format(4000000, "#.##E+0") frmcomparison.lblpcompinch.Visible = True frmcomparison.lblpcompmm.Visible = False frmcomparison.lblacompinch.Visible = True frmcomparison.lblacompmm.Visible = False frmcomparison.imgpci.Visible = True frmcomparison.imgmn.Visible = False frmcomparison.imgmpa.Visible = False frmcomparison.imgpsi.Visible = True frmcomparison.imgmpa1.Visible = False frmcomparison.imgpsi1.Visible = True End If frmcomparison.lbltrafaashto.Caption = Format(frmaashto.txtawt.Text, "#.0E+0") dperiod = Val(frmtraffic.txtdperiod.Text) growthrate = Val(frmtraffic.txtgrowthrate.Text) pf = (1 + (growthrate / 100)) ^ (0.5 * dperiod) lanedist = Val(frmtraffic.txtlanedist.Text) frmcomparison.lbltrafpca.Caption = Format(frmpca.txtadtt.Text * pf * lanedist * dperiod * 365, "#.0E+0") End Sub Private Sub cmdnextvalue_Click() txtthicknessresult.Text = txtthicknessresult.Text + 0.01 End Sub Private Sub cmdpreviousvalue_Click() txtthicknessresult.Text = txtthicknessresult.Text - 0.01 End Sub Private Sub cmdrecalculate_Click() frmresult.Hide frmpca.Show frmpca.txttrialthick.Text = frmresult.txtthicknessresult.Text frmpca.cmdback.Visible = False frmpca.Optwithshoulder.Value = False frmpca.Optnoshoulder.Value = False frmpca.Optwithhdowel.Value = False frmpca.Optnodowel.Value = False frmpca.txtmodulusk.Visible = False frmpca.txtmodulusrupture.Visible = False frmpca.txtadtt.Visible = False frmpca.Opt1p3.Visible = False frmpca.Opt1p2.Visible = False 89 frmpca.Opt1p1.Visible = False frmpca.Opt1p0.Visible = False frmpca.Frmeroadtype.Visible = False frmpca.lbladtt.Visible = False frmpca.lblmodulusk.Visible = False frmpca.lblmodulusrupture.Visible = False frmpca.lbltruck.Visible = False frmpca.lbluk2.Visible = False frmpca.lbluk3.Visible = False frmpca.lblus2.Visible = False frmpca.lblus3.Visible = False frmpca.cmdclear.Visible = False frmpca.Image1.Visible = False frmpca.Image2.Visible = False frmpca.Line1.Visible = False frmpca.lblfrmpca.Caption = "AnP Pave - PCA Method (Recalculate Thickness)" frmpca.txttrialthick.Left = 331.5 frmpca.txttrialthick.Top = 215 frmpca.lbltrialthick.Left = 313.5 frmpca.lbltrialthick.Top = 180 frmpca.lbluk1.Top = 196 frmpca.lblus1.Top = 196 frmpca.lbluk1.Caption = "(mm)" frmpca.lblus1.Caption = "(in)" frmpca.lbluk1.Left = 339.5 frmpca.lblus1.Left = 344.5 frmpca.Frmeshoulder.Left = 295.5 frmpca.Frmeshoulder.Top = 250 frmpca.frmedowel.Left = 295.5 frmpca.frmedowel.Top = 300 frmpca.Optwithshoulder.Left = 311.5 frmpca.Optnoshoulder.Left = 359.5 frmpca.Optwithshoulder.Top = 268 frmpca.Optnoshoulder.Top = 268 frmpca.cmdok3.Top = 355 frmpca.cmdok2.Top = 355 frmpca.cmdok.Top = 355 frmpca.cmdok3.Left = 295.5 frmpca.cmdok2.Left = 295.5 frmpca.cmdok.Left = 295.5 End Sub Private Sub Form_Load() lblfrmresult.Caption = "AnP Pave - PCA Method (Result)" If frmunitsystem.optpuk.Value = True Then lblkn.Visible = True lblkip.Visible = False lblus1.Visible = False lbluk1.Visible = True ElseIf frmunitsystem.optpus.Value = True Then lblkn.Visible = False lblkip.Visible = True lblus1.Visible = True lbluk1.Visible = False End If lbllsf.Caption = lsf End Sub 90 APPENDIX H Coding written in AASHTO Method – Input Data Form (VB Coding) Private atraffic As Single Private aj As Single Private acd As Single Private apsi As Single Private aso As Single Private azr As Single Private athickness As Single Private atrial As Single Private logatraffic As Single Private l As Integer Private Sub cmdaok_Click() frmaashto.Hide frmaresult.Show If frmunitsystem.optauk.Value = True Then amodulusk = Val(frmaashto.txtamodulusk.Text / 0.2713) aec = Val(frmaashto.txtaec.Text / 0.0069) amodulusrupture = Val(frmaashto.txtamodulusrupture.Text / 0.0069) ElseIf frmunitsystem.optaus.Value = True Then amodulusk = (frmaashto.txtamodulusk.Text) aec = (frmaashto.txtaec.Text) amodulusrupture = (frmaashto.txtamodulusrupture.Text) End If atraffic = Val(txtawt.Text) aj = Val(txtaj.Text) acd = Val(txtacd.Text) apsi = Val(txtapsi.Text) aso = Val(txtaso.Text) azr = Val(txtazr.Text) logatraffic = Format(Log(atraffic) / Log(10), "###0.00") athickness = 5# Do Until atrial = logatraffic atrial = Format(azr * aso + 7.35 * (Log(athickness + 1) / Log(10)) - 0.06 + (((Log(apsi / 3)) / Log(10)) / (1 + (1.624 * 10 ^ 7) / (athickness + 1) ^ 8.46)) _ + (4.22 - 0.32 * (4.5 - apsi)) * (Log((amodulusrupture * acd * (athickness ^ 0.75 - 1.132)) / (215.63 * aj * (athickness ^ 0.75 - 18.42 / ((aec / amodulusk) ^ 0.25)))) / Log(10)), "###0.00") athickness = athickness + 0.01 Loop For l = 0 To 1 frmaresult.lbllogatraffic(l).Caption = logatraffic frmaresult.lblatrial.Caption = atrial frmaresult.lblathickness(l).Caption = Format(athickness, "###0.00") Next l If frmunitsystem.optpuk.Value = True Then frmcomparison.lblpcomp.Caption = frmresult.txtthicknessresult.Text frmcomparison.lblpcompinch.Visible = False frmcomparison.lblpcompmm.Visible = True frmcomparison.imgpci.Visible = False frmcomparison.imgmn.Visible = True frmcomparison.imgmpa.Visible = True frmcomparison.imgpsi.Visible = False ElseIf frmunitsystem.optpus.Value = True Then frmcomparison.lblpcomp.Caption = frmresult.txtthicknessresult.Text frmcomparison.lblpcompinch.Visible = True 91 frmcomparison.lblpcompmm.Visible = False frmcomparison.imgpci.Visible = True frmcomparison.imgmn.Visible = False frmcomparison.imgmpa.Visible = False frmcomparison.imgpsi.Visible = True End If If frmunitsystem.optaus.Value = True Then frmaresult.lblathicknessuk.Visible = False frmaresult.lblamm.Visible = False ElseIf frmunitsystem.optauk.Value = True Then frmaresult.lblamm.Visible = True frmaresult.lblathicknessuk.Visible = True frmaresult.lblathicknessuk.Caption = Format(athickness * 25.4, "###0.00") End If End Sub Private Sub cmdback_Click() Unload Me Unload frmtraffic Unload frmunitsystem frmunitsystem.Show End Sub Private Sub cmdclear_Click() txtacd.Text = "" txtaec.Text = "" txtaj.Text = "" txtamodulusk.Text = "" txtamodulusrupture.Text = "" txtapsi.Text = "" txtaso.Text = "" txtawt.Text = "" txtazr.Text = "" comboazr.Text = "" End Sub Private Sub cmdexit_Click() End End Sub Private Sub comboazr_Click() If comboazr.Text = 50 Then txtazr.Text = 0# ElseIf comboazr.Text = 60 Then txtazr.Text = -0.253 ElseIf comboazr.Text = 70 Then txtazr.Text = -0.524 ElseIf comboazr.Text = 75 Then txtazr.Text = -0.674 ElseIf comboazr.Text = 80 Then txtazr.Text = -0.841 ElseIf comboazr.Text = 85 Then txtazr.Text = -1.037 ElseIf comboazr.Text = 90 Then txtazr.Text = -1.282 ElseIf comboazr.Text = 91 Then txtazr.Text = -1.34 ElseIf comboazr.Text = 92 Then txtazr.Text = -1.405 ElseIf comboazr.Text = 93 Then txtazr.Text = -1.476 ElseIf comboazr.Text = 94 Then txtazr.Text = -1.555 ElseIf comboazr.Text = 95 Then txtazr.Text = -1.645 ElseIf comboazr.Text = 96 Then txtazr.Text = -1.751 ElseIf comboazr.Text = 97 Then txtazr.Text = -1.881 92 ElseIf comboazr.Text = 98 Then txtazr.Text = -2.054 ElseIf comboazr.Text = 99 Then txtazr.Text = -2.327 ElseIf comboazr.Text = 99.9 Then txtazr.Text = -3.09 ElseIf comboazr.Text = 99.99 Then txtazr.Text = -3.75 End If End Sub Private Sub Form_Load() lblfrmaashto.Caption = "AnP Pave - AASHTO Method (Input Data)" End Sub 93 APPENDIX I Coding written in AASHTO Method – Result Form (VB Coding) Private Sub cmdacompare_Click() frmaxle.cmdcate1.Visible = False frmaxle.cmdcate2.Visible = False frmaxle.cmdcate3.Visible = False frmaxle.cmdcate4.Visible = False frmaxle.cmdcate11.Visible = True frmaxle.cmdcate21.Visible = True frmaxle.cmdcate31.Visible = True frmaxle.cmdcate41.Visible = True frmaresult.Hide frmaxle.Show frmresult.cmdpcompnext.Visible = True frmresult.cmdpcompnext.Default = True frmresult.cmdcompare.Visible = False frmresult.cmdrecalculate.Default = True If frmunitsystem.optauk.Value = True Then frmaxle.lblkn.Visible = True frmaxle.lblkip.Visible = False frmaxle.lblkn1.Visible = True frmaxle.lblkip1.Visible = False frmunitsystem.cmduk = True frmresult.lbluk1.Visible = True frmresult.lblus1.Visible = False frmunitsystem.cmduk.Default = True frmunitsystem.cmdus.Enabled = False frmunitsystem.cmdaus.Enabled = False frmunitsystem.cmdauk.Enabled = False frmpca.txttrialthick.Text = frmaresult.lblathicknessuk.Caption ElseIf frmunitsystem.optaus.Value = True Then frmaxle.lblkn.Visible = False frmaxle.lblkip.Visible = True frmaxle.lblkn1.Visible = False frmaxle.lblkip1.Visible = True frmunitsystem.cmdus = True frmresult.lbluk1.Visible = False frmresult.lblus1.Visible = True frmunitsystem.cmdus.Default = True frmunitsystem.cmduk.Enabled = False frmunitsystem.cmdaus.Enabled = False frmunitsystem.cmdauk.Enabled = False frmpca.txttrialthick.Text = frmaresult.lblathickness(0).Caption End If frmpca.txtmodulusk.Text = frmaashto.txtamodulusk.Text frmpca.txtmodulusrupture.Text = frmaashto.txtamodulusrupture.Text frmpca.txtmodulusk.Enabled = False frmpca.txtmodulusrupture.Enabled = False frmresult.cmdpcompnext.Visible = True frmresult.cmdcompare.Visible = False frmresult.cmdcompare2.Visible = False frmcomparison.lblmoduluskcomp.Caption = frmaashto.txtamodulusk.Text frmcomparison.lblmodulusrupturecomp.Caption = frmaashto.txtamodulusrupture.Text frmtraffic.Hide End Sub 94 Private Sub cmdacompnext_Click() frmaresult.Hide frmcomparison.Show frmcomparison.lblmoduluskcomp.Caption = frmaashto.txtamodulusk.Text frmcomparison.lblmodulusrupturecomp.Caption = frmaashto.txtamodulusrupture.Text frmcomparison.lblelasticcompa.Caption = Format(frmaashto.txtaec.Text, "#.##E+0") frmcomparison.lblcomploadtransfer.Caption = frmaashto.txtaj.Text frmcomparison.lblcomppsi.Caption = frmaashto.txtapsi.Text frmcomparison.lblcompcd.Caption = frmaashto.txtacd.Text frmcomparison.lblcompso.Caption = frmaashto.txtaso.Text frmcomparison.lblcompzr.Caption = frmaashto.txtazr.Text frmcomparison.lblcomplsf.Caption = frmresult.lbllsf.Caption frmcomparison.lblcompreliability.Caption = frmaashto.comboazr.Text If frmresult.Optnoshoulder = True Then frmcomparison.lblcompshoulder.Caption = "NO SHOULDER" ElseIf frmresult.Optwithhdowel = True Then frmcomparison.lblcompshoulder.Caption = "WITH SHOULDER" End If If frmresult.Optnodowel = True Then frmcomparison.lblcompdowel.Caption = "AGGREGATE INTERLOCK JOINT" ElseIf frmresult.Optwithhdowel = True Then frmcomparison.lblcompdowel.Caption = "WITH DOWEL JOINT" End If If frmunitsystem.optauk.Value = True Then frmcomparison.lblacomp.Caption = frmaresult.lblathicknessuk.Caption frmcomparison.lblelasticcompp.Caption = Format(28000, "#.##E+0") frmcomparison.lblacompinch.Visible = False frmcomparison.lblacompmm.Visible = True frmcomparison.lblpcompinch.Visible = False frmcomparison.lblpcompmm.Visible = True frmcomparison.imgpci.Visible = False frmcomparison.imgmn.Visible = True frmcomparison.imgmpa.Visible = True frmcomparison.imgpsi.Visible = False frmcomparison.imgmpa1.Visible = True frmcomparison.imgpsi1.Visible = False ElseIf frmunitsystem.optaus.Value = True Then frmcomparison.lblacomp.Caption = frmaresult.lblathickness(0).Caption frmcomparison.lblelasticcompp.Caption = Format(4000000, "#.##E+0") frmcomparison.lblacompinch.Visible = True frmcomparison.lblacompmm.Visible = False frmcomparison.lblpcompinch.Visible = True frmcomparison.lblpcompmm.Visible = False frmcomparison.imgpci.Visible = True frmcomparison.imgmn.Visible = False frmcomparison.imgmpa.Visible = False frmcomparison.imgpsi.Visible = True frmcomparison.imgmpa1.Visible = False frmcomparison.imgpsi1.Visible = True End If frmcomparison.lblpcomp.Caption = frmresult.txtthicknessresult.Text frmcomparison.lbltrafaashto.Caption = Format(frmaashto.txtawt.Text, "#.0E+0") dperiod = Val(frmtraffic.txtdperiod.Text) growthrate = Val(frmtraffic.txtgrowthrate.Text) pf = (1 + (growthrate / 100)) ^ (0.5 * dperiod) lanedist = Val(frmtraffic.txtlanedist.Text) frmcomparison.lbltrafpca.Caption = Format(frmpca.txtadtt.Text * pf * lanedist * dperiod * 365, "#.0E+0") 95 End Sub Private Sub cmdexit_Click() End End Sub Private Sub Form_Load() lblfrmaresult.Caption = "AnP Pave - AASHTO Method (Result)" End Sub 96 APPENDIX J Sample of AASHTO method using manual calculation (nomograph) (See next page) TL 1200 .~ -= 1100 'J'",- !OOO ;;2 := QOO ~ ::=: SOO .'.><:.., 80 .t:: ~ ~ QO Effect;-'c \h'dll!us of Subgrade RCilclion. 100 k (pci) Design Slab Thickness, D (inches) I I 'I !' 1000500 I .1 .05 Application of reliability in ·thlsc,hart requires the use of meari values for alllhe input variables. 99.9 I ~ I 70 I 60 50 ! ! I 97 APPENDIX K Sample of PCA method using manual calculation (worksheet, nomograph) (See next page) ~nov DoW~~jc)l~:, COncrete shoulder. yss_ Design. periOd,w no--:- y.eant '." Axel, MuJtiPIIed . ~ lotld,' .. " ' l' , .. .. 2' = ,3, 'Eroston analySis FatigUe analYsis o, : 'DarnaQe, AJloWable Allowable Fatigue repetltlons percent repetitions percoot 5 e 7 , 4 " 8~Equivalent 21S stTeS$_--- factor_ll._&_· __ 10. Erosion 9. Stress ratio factor 0 ,,~3' .... 'Jif .'1'(L~ 3:2- 3f)·/f 30 a,g 36 'J3.'6 3/,;2 .' (}II/ , 180D bot] ..vOlX' 7·1() 1~/OoO ;;9 oro '(}./WYl- ' :JG :;).,;/ :?..e.e. . ~Q d-G'~ /69{)] [ll.f', 'j:JG9 I .-<j(; 9/ i:lo /B ;}J,£ -<;183 7£ .JIJ£.. L6 If}! ~::;/IS .;;<, 1"1,:; (IA}. OCl.o g So,- CCrY 1'.-. e>oo C'.lOO 1c2 Gj.02 CfS . l[).tY7' God·If. ..Iff). 5"-l. .fJ 71" S2·l!f: GD sG £:2 .;; 1"0 /fB '36 ~--':;..2.. 32. Bf5 QB> ~3.b :1/1 . ."1. i . IOO/DDO. 5·9 I~ SOOJJvJO !J,/ ~..l&O() 60S .rod 0.03 .' 9",soo" 000 I.) S.,'?f)qroo r).o6' IO/OOD,.OOO ol o£ f);O .oo~.ooo l' C),. O(1? ~(;)00 0 . 2 0,,:2- (),9J 1.'/ 20/9 13(',00.) $./.fO 000 .g£jll ./ooOJ.ooo -, 3m,DOG ·,?If:.~ ' () -S'f' O,QS (.gO~ooo 0.:«;: ';19£9 2,:oa'1,- 0;:-0 0·.20 22903 3..'1f,t>CJ. ~)etl 0.60 0,0/72 I ;),3 $;;)5 0, (~Q.,OOO' I . /Q o,&t<.> C> n (),3 SjfY,.ot>Q . , $.3 07. 00:" 1B,.oOO/, ~)l!) OtJi::'? 60..000 _'oQ0 BO,2I;tS "' CJ, /0 :JOT /)a .. o .()j,; /f.o tJ,r:.000 .log ' . /.@,,$.? .. IJ'.~ ... 11. Equlvalent stress 12. Stress ratio factor 0.'03 l-S'O/DO{) Total' ,5'0,9 Total -0.(1) '. ty'~(,1, .' 1OO!QOO,OO~~ 6· ~O;DO } .•(X)Q -- 4 3, S (lC ()rxJ , --- - f/'.I; 2.8 ""7 ~ ,...., :/) E 0.. """" ~ Q.c,'f . ::: 6 3.0 4 LE d -< ?5 - Z 0 "" v .J ..., C(; X ~ -< - 3A 3.6 18 3.8 16 14 4.0 ~ ~ v, IJJ ...J 100.000 8 6 30 ~ C 2 u.J 20 1 C/) u.J ~ 3' .- ,.... ..J F"'"" E'IJJ (/) t.I.J -cZ Z 4 2 . 10.000 8 cc < ~ C ...J -< ) '/M . t)/lQ) 80 40 7.. 2.4 _- •...-----~.._-- ....------ "0 I~~ ./?O .'f 30. ~ 0.. -d ::c:: < rr. 1.000.000 ZI2 -8-- C ~ -@/cr. •... 6 f- 60 tl·{, 4 25 •... r.;; '-' -l 3.2 " -l ~ X ~ - 1 w 100,000 8 c:c -:( ~ C r.r. 18 6 3.8 •• 16 30 14 .•. ""'" v , ~ 3.6 - A- -- 4.0 2 ,00() - ·w . p::~",DCO ~ 3.4 20 C Z u.J 0 ..,. ') f"'. .,.; ~ [.IJ E= if 3.0 J:j.'O f" o,.oc,,", -l -< 1