1. Trang chủ
  2. » Tất cả

Masters thesis of engineering mechanical properties and applications of additively manufactured thermoplastic polyurethane material

98 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 98
Dung lượng 1,32 MB

Nội dung

Mechanical Properties and Applications of Additively Manufactured Thermoplastic Polyurethane Material A thesis submitted in fulfilment of the requirements for the degree of Master of Engineering Tao Xu Bachelor of Engineering, Tongji University School of Engineering College of Science, Technology, Engineering and Maths RMIT University August 2021 Declaration I certify that except where due acknowledgement has been made, the work is that of the author alone; the work has not been submitted previously, in whole or in part, to qualify for any other academic award; the content of the thesis is the result of work which has been carried out since the official commencement date of the approved research program; any editorial work, paid or unpaid, carried out by a third party is acknowledged; and, ethics procedures and guidelines have been followed Tao Xu 23 August 2021 i Acknowledgements First of all, I would like to give my heartfelt thanks to my senior supervisor, Professor Yi Min (Mike) Xie, who provided me with the opportunity to study at RMIT and always helped me with my research It has been a great privilege and joy to study under his guidance and supervision I am particularly impressed by his sharp mind for detecting extremely detailed problems that exist in my research, which profoundly inspires me to be a rigorous and responsible researcher Professor Xie is not only my academic leader but also my life mentor I am sure that I will forever beneĄt from his direction and treasure it all of my life My sincere and hearty thanks and appreciation also go to my associate supervisor, Dr Xiaoshan (Susanna) Lin After every dayŠs busy and exhausting work, she still devoted her considerate care and immense vigour in the supervision of my thesis writing, including the suggestions on wording, the help in forming the structure, and the efforts to the reĄnement of ideas in my thesis Without her keen insights and constant encouragement, the thesis would not have been Ąnished I would like to thank all my current and former colleagues I miss lunchtime with Yulin Xiong, Hu Xu, Wei Li, Anbang Chen, Wenzheng Xu, Yunzhen he, Qi Cai, Zicheng Zhuang, Minghao Bi and Zhonggao Chen I wish to particularly thank Mr Dingwen Bao for giving me considerable care during my life in Melbourne I am grateful for the support and company from my friends Zhouhan Jia, Hange Yang, Shangchi Yao, Rong Peng, Chenxing Zuo, Qi Lu, Jiajun Fan, Bo Fan, Mengge Cai, Zhi Li, Yilun Chen, Jiezhuoma La, Xinrong Jiang, and Xiaohan Sun I would like to express my ii appreciation to my former teacher Mr Ercüment Görgül, who introduced me to Professor Xie personally and offered me a lot of help and advice in my career I am thankful to Nanjing Ameba Engineering Structure Optimization Research Institute for providing technical support I thank Mr Wei Shen for arranging the workspace and experimental equipment and Mr Donghui Wang for helping me operate machines and conduct manufacturing I thank my beloved girlfriend Yingqi Li, who has been with me and brought me countless laughs and happiness We met in spring, however, when I saw her, a poem by Shakespeare appeared in my mind: "Shall I compare thee to a summerŠs day?" I would like to express my appreciation for the funding for my research from the Australian Research Council (grant number: FL190100014) Finally, but most importantly, I would like to thank my parents, who offer me unconditional support and encourage me to pursue my dreams I will keep your love in the quietest place in my heart iii Contents Introduction 1.1 Overview 1.1.1 Two Commonly Used Additive Manufacturing Technologies 1.1.2 Additively Manufactured TPU Material 1.2 Problem Statement 1.3 Objectives and Scope 1.4 Layout of Thesis Literature Review 2.1 Chemical Properties of TPU 2.2 TPU Particles 11 2.3 Thermal Behaviour of TPU Material 12 2.4 Mechanical properties of TPU Material 13 Tensile Tests of TPU Dumb-Bell Specimens Printed with Various Parameters 16 3.1 Introduction 16 3.2 Materials and Testing Methods 17 3.2.1 Test Specimens 17 3.2.2 Processing Parameters 18 3.2.3 Tensile Test Setup 21 iv CONTENTS 3.3 3.4 3.2.4 Scanning Electron Microscope 21 3.2.5 Particle-Size Distribution 22 3.2.6 Melt Flow Rate 23 3.2.7 Differential Scanning Calorimetry 24 Results and Discussion 25 3.3.1 Effect of Build Orientation 25 3.3.2 Effect of Post-processing 28 3.3.3 Effect of Powder Mix Ratio 30 Summary 35 A Novel Low-cost and Environmentally Friendly Method for Concrete Casting Using Additively Manufactured TPU Moulds 37 4.1 Introduction 37 4.2 Design Process 39 4.2.1 Topologically Optimized 2D cantilever 39 4.2.2 3D Free-form Column 44 Manufacturing Process 47 4.3.1 Mould Printing 47 4.3.2 Pre-processing of the TPU Moulds 47 4.3.3 Casting and Demoulding 52 4.4 Manufacturing WorkĆow 53 4.5 Discussion 55 4.3 Conclusions 58 Bibliography 61 Appendix A Python Program for 2D Topology Optimization 72 A.1 Boundary Conditions and Stiffness Matrix 72 A.2 Finite Element Solver 75 A.3 BESO Technique 77 A.4 Parameter Settings 83 v List of Figures 1.1 Schematic of selective laser sintering 1.2 Schematic of fused deposition modelling 1.3 TPU materials for additive manufacturing: (a) TPU powder for SLS (image credit: SINTERIT); (b) TPU granules for FDM (image credit: Kingoda) and (c) TPU Ąlament for FDM (image credit: SUNLU) 2.1 Two-step synthesis of polyurethanes: (a) Synthesis of urethane prepolymer via reacting two diisocyanates with polyols (b) Synthesis of polyurethane via reacting the prepolymer with chain extenders 2.2 Particle shapes attainable by different powder generation processes (Schmid and Wegener [2016]) 2.3 10 11 Typical DSC-Thermogram with nature of Śsintering windowŠ as LS process temperature (Schmid and Wegener [2016]) 12 2.4 SEM image of an SLS part surface (Launhardt et al [2016]) 14 3.1 Shape of the dumb-bell test specimens 18 3.2 3D printed dumb-bell specimens 18 3.3 Three build orientations 20 3.4 Comparison of specimen surfaces: (a) specimen with post-processing and (b) specimen without post-processing 22 vi LIST OF FIGURES 3.5 Tensile test setup 23 3.6 Illustration of sieve analysis 24 3.7 Stress-strain curves of specimens printed in three different directions 25 3.8 Average and standard deviation of the results: (a) Maximum tensile strength and (b) strain at break 26 Moduli of specimens printed in different orientations 27 3.10 Illustration of selective laser sintering (SLS) processing 28 3.9 3.11 Comparison of the average tensile strength ŤYŤ indicates specimens with post-processing, and ŤNŤ means specimens without post-processing 28 3.12 Comparison of the average strain at break ŤYŤ indicates specimens with post-processing, and ŤNŤ means specimens without post-processing 29 3.13 Comparison of moduli of specimens at different strains ŞYŤ indicates specimens with post-processing, and ŤNŤ means specimens without postprocessing 31 3.14 Comparison of (a) maximum tensile strength and (b) strain at break 31 3.15 Microstructure of new TPU powder under different magniĄcations: (a) 500×; (b) 1000× and (c) 2000× 32 3.16 Microstructure of reused TPU powder under different magniĄcations: (a) 500×; (b) 1000× and (c) 2000× 33 3.17 Particle size distribution results for the new powder and the reused powder 34 3.18 Differential scanning calorimetry (DSC) traces of the new powder and the reused powder: (a) heating traces and (b) cooling traces 34 4.1 Boundary conditions of the cantilever 41 4.2 Topology optimization result 41 4.3 Smoothed shape of the topology optimization result 41 4.4 Extruded solid model 42 4.5 TPU Mould Design 42 4.6 Block design and cutting directions of the mould 43 4.7 Demolding sequence 43 4.8 Geometrical articulations of NerviŠs column 45 4.9 Mould design for the 3D column: white parts are the pieces of the mould, and the black part is NerviŠs column 46 vii LIST OF FIGURES 4.10 Six sections of the mould and the corresponding bases 46 4.11 Mould printing with FDM technique 48 4.12 Additively manufactured TPU mould of the 2D cantilever 48 4.13 Additively manufactured TPU mould of 3D column (top part) 49 4.14 Water-based putty on the surface of the mould 50 4.15 Machine oil (red) on the water-based putty 51 4.16 Pre-processing of the mould for 3D column (top part): (a) Cutting the mould into four pieces; (b) Appling TeĆon release paper on the internal surfaces; (c) Assembling the four pieces on a board 51 4.17 2D concrete cantilever 52 4.18 3D concrete column (top part) 53 4.19 Demoulding process of the 2D cantilever 54 4.20 After demoulding of the 2D cantilever: (a) TPU mould after demoulding; (b) 2D concrete cantilever; (c) Surface of the 2D concrete cantilever 55 4.21 Six sections of NerviŠs column 56 4.22 Assembled NerviŠs column: (a) Assembled column; (b) Surface of the column 57 viii List of Tables 3.1 Dimensions of the dumb-bell specimens 17 3.2 Processing parameters used in this study 19 3.3 Eight sets of specimens printed with different processing parameters 21 4.1 Comparison of water-based putty and oil-based putty 50 ix Appendix A Python Program for 2D Topology Optimization This appendix provides the details of the Python program used for 2D topology optimization Due to the size of the page, the code in some places may not be displayed properly Please visit: https://github.com/ToddyXuTao/BESO-for-2D to view the code with detailed comments A.1 Boundary Conditions and Stiffness Matrix import numpy a s np c l a s s Load ( o b j e c t ) : d e f _ _ i n i t _ _ ( s e l f , n e l x , n e l y , E , nu ) : s e l f nelx = nelx 72 A.1 Boundary Conditions and Stiffness Matrix self self self self nely = nely E = E nu = nu dim = d e f node ( s e l f , e l x , e l y ) : return ( s e l f nely + 1) ∗ elx + ely def nodes ( s e l f , elx , e ly ) : n1 = s e l f node ( e l x , ely ) n2 = s e l f node ( e l x + , e l y ) n3 = s e l f node ( e l x + , e l y + ) n4 = s e l f node ( e l x , ely + 1) r e t u r n n1 , n2 , n3 , n4 def edof ( s e l f ) : e l x = np r e p e a t ( range ( s e l f n e l x ) , s e l f n e l y ) reshape ( ( s e l f nelx ∗ s e l f nely , ) ) e l y = np t i l e ( range ( s e l f n e l y ) , s e l f n e l x ) reshape ( ( s e l f nelx ∗ s e l f nely , ) ) n1 , n2 , n3 , n4 = s e l f n o d e s ( e l x , e l y ) e d o f = np a r r a y ( [ s e l f dim ∗n1 , s e l f dim ∗ n1 +1 , s e l f dim ∗n2 , s e l f dim ∗ n2 +1 , s e l f dim ∗n3 , s e l f dim ∗ n3 +1 , s e l f dim ∗n4 , s e l f dim ∗ n4 + ] ) edof = x_list y_list return edof T[0] = np r e p e a t ( e d o f , ) = np t i l e ( e d o f , ) f l a t t e n ( ) edof , x _ l i s t , y _ l i s t d e f l k ( s e l f , E , nu ) : 73 A.1 Boundary Conditions and Stiffness Matrix k = np a r r a y ( [ / − nu / , / + nu / , −1/4 − nu / , −1/8+3∗ nu / , −1/4+ nu / , −1/8 − nu / , nu / , 1/8 −3∗ nu / ] ) ke = E / ( − nu ∗ ∗ ) ∗ \ [k [0] , k [1] , k [2] , k [3] [k [1] , k [0] , k [7] , k [6] [k [2] , k [7] , k [0] , k [5] [k [3] , k [6] , k [5] , k [0] [k [4] , k [5] , k [6] , k [7] [k [5] , k [4] , k [3] , k [2] [k [6] , k [3] , k [4] , k [1] [k [7] , k [2] , k [1] , k [4] r e t u r n ke np a r r a y ( [ , k [4] , k [5] , k [6] , k [5] , k [4] , k [3] , k [6] , k [3] , k [4] , k [7] , k [2] , k [1] , k [0] , k [1] , k [2] , k [1] , k [0] , k [7] , k [2] , k [7] , k [0] , k [3] , k [6] , k [5] ,k[7]] , ,k[2]] , ,k[1]] , ,k[4]] , ,k[3]] , ,k[6]] , ,k[5]] , ,k[0]]]) def f o r c e ( s e l f ) : r e t u r n np z e r o s ( s e l f dim ∗ ( s e l f n e l y + ) ∗ ( s e l f n e l x + ) ) def a l l d o f s ( s e l f ) : r e t u r n [ a f o r a i n range ( s e l f dim ∗ ( s e l f n e l y + ) ∗ ( s e l f n e l x + ) ) ] def f i x d o f s ( s e l f ) : return [ ] def f r e e d o f s ( s e l f ) : return l i s t ( s e t ( s e l f a l l d o f s ( ) ) − set ( self fixdofs ( ) ) ) c l a s s C a n t i l e v e r ( Load ) : d e f _ _ i n i t _ _ ( s e l f , n e l x , n e l y , E , nu ) : s u p e r ( ) _ _ i n i t _ _ ( n e l x , n e l y , E , nu ) 74 A.2 Finite Element Solver i f n e l y % != : r a i s e ValueError ( ’ ’ ’ Nely needs to be e v e n i n a c a n t i l e v e r beam ’ ’ ’ ) def f o r c e ( s e l f ) : f = super ( ) f o r c e ( ) n1 , n2 , n3 , n4 = s e l f n o d e s ( s e l f n e l x −1 , i n t ( s e l f n e l y / ) ) f [ s e l f dim ∗ n2 + ] = −1 return f def f i x d o f s ( s e l f ) : r e t u r n ( [ x f o r x i n range ( , s e l f dim ∗ ( s e l f n e l y + ) ) ] ) A.2 Finite Element Solver import numpy a s np # Modulus f o r F E S o l v e r p a r e n t c l a s s from s c i p y s p a r s e import c o o _ m a t r i x from s c i p y s p a r s e l i n a l g import s p s o l v e # Modulus f o r CvxFEA c l a s s from c v x o p t import m a t r i x , s p m a t r i x from c v x o p t cholmod import l i n s o l v e c l a s s FESolver ( object ) : d e f d i s p l a c e ( s e l f , l o a d , x , ke , p e n a l ) : f r e e d o f s = np a r r a y ( l o a d f r e e d o f s ( ) ) nely , nelx = x shape 75 A.2 Finite Element Solver f_free = load force ( ) [ freedofs ] k _ f r e e = s e l f g k _ f r e e d o f s ( l o a d , x , ke , p e n a l ) # s o l v i n g t h e s y s t e m f = Ku w i t h s c i p y u = np z e r o s ( l o a d dim ∗ ( n e l y + ) ∗ ( n e l x + ) ) u [ f r e e d o f s ] = spsolve ( k_free , f _ f r e e ) return u d e f g k _ f r e e d o f s ( s e l f , l o a d , x , ke , p e n a l ) : f r e e d o f s = np a r r a y ( l o a d f r e e d o f s ( ) ) nelx = load nelx nely = load nely edof , x _ l i s t , y _ l i s t = l oa d edof ( ) # E ( x i ) = E∗( x i ^ p ) factor = x T reshape ( n e l x ∗ n e l y , , ) ∗∗ p e n a l # K = sum ( K ∗ x i ^ p ) v a l u e _ l i s t = ( np t i l e ( ke , ( nelx ∗ nely , , 1))∗ f a c t o r ) f l a t t e n ( ) # C o n s t r u c t sum o f g l o b a l m a t r i x s and s l i c e i t d o f = l o a d dim ∗ ( n e l x + ) ∗ ( n e l y + ) k = coo_matrix ( ( v a l u e _ l i s t , ( y _ l i s t , x _ l i s t ) ) , s h a p e = ( dof , d o f ) ) t o c s c ( ) k = k[ freedofs , : ] [ : , freedofs ] return k c l a s s CvxFEA ( F E S o l v e r ) : f r e e d o f s = np a r r a y ( l o a d f r e e d o f s ( ) ) nely , nelx = x shape f = load force ( ) 76 A.3 BESO Technique Matrix_free = matrix ( f [ freedofs ]) k _ f r e e = s e l f g k _ f r e e d o f s ( l o a d , x , ke , p e n a l ) t o c o o ( ) k _ f r e e = s p m a t r i x ( k _ f r e e d a t a , k _ f r e e row , k _ f r e e c o l ) u = np z e r o s ( l o a d dim ∗ ( n e l y + ) ∗ ( n e l x + ) ) l i n s o l v e ( k_free , Matrix_free ) u [ f r e e d o f s ] = np a r r a y ( M a t r i x _ f r e e ) [ : , ] return u A.3 BESO Technique import math import numpy a s np import m a t p l o t l i b p y p l o t a s p l t c l a s s BESO2D ( o b j e c t ) : def _ _ i n i t _ _ ( s e l f , load , f e s o l v e r ) : s e l f load = load self fesolver = fesolver # I n i t i a l i z e the variables s e l f vol = s e l f change = x = np o n e s ( ( l o a d n e l y , l o a d n e l x ) ) self x = x s e l f dc = np z e r o s ( x s h a p e ) s e l f c = np z e r o s ( 0 ) s e l f nely , s e l f nelx = x shape d e f t o p o l o g y ( s e l f , v o l f r a c , e r , rmin , p e n a l , P l o t t i n g , S a v i n g # Initialize 77 A.3 BESO Technique p r i n t ( ’ ’ ’ H e l l o ! BESO ! ’ ’ ’ + Š \ n Š + ’ ’ ’ V e r s i o n : ’ ’ ’ + Š \ n Š + ’ ’ ’ A u t h o r : Tao ’ ’ ’ + Š \ n Š + ’ ’ ’ For my b e l o v e d Y i n g q i ’ ’ ’ + Š \ n Š ) vol = s e l f itr = itr_his = com_his = vol_his = vol [] [] [] # Start ith iteration while s e l f change > 0 : load = s e l f load v o l = max ( v o l ∗(1 − e r ) , v o l f r a c ) change = s e l f change i f i t r > 0: o l d d c = s e l f dc # Define the variables x = self x ke = l o a d l k ( l o a d E , l o a d nu ) # FE− A n a l y s i s u = s e l f f e s o l v e r d i s p l a c e ( l o a d , x , ke , p e n a l ) # O b j e c t i v e f u n c t i o n and s e n s i t i v i t y a n a l y s i s dc = s e l f dc c = self c f o r e l y i n range ( s e l f n e l y ) : f o r e l x i n range ( s e l f n e l x ) : n1 , n2 , n3 , n4 = l o a d n o d e s ( e l x , e l y ) 78 A.3 BESO Technique Ue = u [ np a r r a y ( [ ∗ n1 , 2∗ n1 +1 , 2∗ n2 , 2∗ n2 +1 , 2∗ n3 , 2∗ n3 +1 , 2∗ n4 , 2∗ n4 + ] ) ] c [ i t r ] += ∗ ( x [ e l y , e l x ] ∗∗ p e n a l ) ∗ np d o t ( np d o t ( Ue T , ke ) , Ue ) dc [ e l y , e l x ] = ∗ ( x [ e l y , e l x ] ∗∗ ( p e n a l − ) ) ∗ \ np d o t ( np d o t ( Ue T , ke ) , Ue ) dc = s e l f f i l t ( rmin , x , dc ) # S t a b l i z a t i o n of evolutionary process i f i t r > 0: dc = ( dc + o l d d c ) / x = s e l f rem_add ( v o l , dc , x ) # Check t h e c o n v e r g e n c e c r i t e r i o n i f i t r >= : c h a n g e = abs ( np sum ( c [ i t r − : i t r − ] ) − np sum ( c [ i t r − : i t r ] ) ) / np sum ( c [ i t r − : i t r ] ) # Update t h e p l o t h i s t o r y i t r _ h i s append ( i t r +1) com_his append ( c [ i t r ] ) v o l _ h i s append ( vol ) # P l o t t h e image if Plotting : self Plot (x , i t r ) s e l f H i s t o r y ( i t r _ h i s , com_his , v o l _ h i s ) # I t r a t i o n update s e l f U p d a t e ( v o l , x , dc , c , c h a n g e ) i t r += 79 A.3 BESO Technique # Save t h e l a s t f i g u r e i f Saving : s e l f SaveFig_x ( x ) s e l f S a v e F i g _ h i s ( i t r _ h i s , com_his , v o l _ h i s ) p r i n t ( Š \ n Š + ’ ’ ’ C o n g r a t u l a t i o n s ! Here i t i s ! ’ ’ ’ ) d e f f i l t ( s e l f , rmin , x , dc ) : nely , nelx = x shape r m i n f = math f l o o r ( r m i n ) d c f = np z e r o s ( ( n e l y , n e l x ) ) f o r i i n range ( n e l x ) : f o r j i n range ( n e l y ) : sum_ = f o r k i n range ( max ( i − r m i n f , ) , ( i + r m i n f +1 , n e l x ) ) : f o r l i n range ( max ( j − r m i n f , ) , ( j + r m i n f +1 , n e l y ) ) : f a c = r m i n − math s q r t ( ( i −k ) ∗ ∗ + ( j − l ) ∗ ∗ ) sum_ += + max ( , f a c ) d c f [ j , i ] = d c f [ j , i ] + max ( , f a c ) ∗ dc [ l , k ] d c f [ j , i ] = d c f [ j , i ] / sum_ return dcf d e f rem_add ( s e l f , v o l , dc , x ) : nely , nelx = x shape l o = np ( dc ) # D e l e t e t h r e s h o l d h i = np max ( dc ) # Add t h r e s h o l d while ( ( h i − l o ) / h i ) > 1e −5: th = ( lo + hi ) / 2.0 x = np maximum ( 0 ∗ np o n e s ( np s h a p e ( x ) ) , 80 A.3 BESO Technique np s i g n ( dc − t h ) ) i f ( np sum ( x ) − v o l ∗ ( n e l x ∗ n e l y ) ) > : lo = th else : hi = th return x def P l o t ( s e l f , x , i t r ) : p r i n t ( ’ ’ ’ I t ’ ’ ’ + s t r ( i t r + ) + Š \ n Š + ’ ’ ’ Obj : ’ ’ ’ + s t r ( s e l f c [ i t r ] ) + Š \ n Š + ’ ’ ’ Vol : ’ ’ ’ + s t r ( ( np sum ( s e l f x ) / ( s e l f n e l x ∗ s e l f n e l y ) ) ∗ 0 ) + ’ ’ ’ % ’ ’ ’ + Š \ n Š + ’ ’ ’ ch : ’ ’ ’ + s t r ( s e l f c h a n g e ) ) plt plt plt plt plt figure () imshow ( x , cmap= p l t cm g r a y ) xticks ([]) yticks ([]) show ( ) d e f H i s t o r y ( s e l f , i t r _ h i s , com_his , v o l _ h i s ) : fig = plt figure () host = fig add_subplot (111) par1 = host twinx ( ) h o s t s e t _ x l i m ( , max ( i t r _ h i s ) + ) h o s t s e t _ y l i m ( ( c o m _ h i s ) ∗ , max ( c o m _ h i s ) ∗ ) p a r s e t _ y l i m ( ( v o l _ h i s ) ∗ , ) host set_xlabel ( " I t e r a t i o n " ) h o s t s e t _ y l a b e l ( " Mean␣ c o m p l i a n c e ␣ (Nmm) " ) p a r s e t _ y l a b e l ( " Volume ␣ f r a c t i o n " ) c o l o r = p l t cm v i r i d i s ( ) c o l o r = p l t cm v i r i d i s ( ) 81 A.3 BESO Technique p1 , = h o s t p l o t ( i t r _ h i s , com_his , Š o− Š , c o l o r = c o l o r , m a r k e r s i z e =5 , m a r k e r f a c e c o l o r =None , l a b e l = " C o m p l i a n c e " ) p2 , = p a r p l o t ( i t r _ h i s , v o l _ h i s , Š o− Š , c o l o r = c o l o r , m a r k e r s i z e =5 , m a r k e r f a c e c o l o r = Š w h i t e Š , l a b e l = " Volume " ) l n s = [ p1 , p2 ] host legend ( handles=lns , loc= Š best Š ) h o s t y a x i s l a b e l s e t _ c o l o r ( p1 g e t _ c o l o r ( ) ) p a r y a x i s l a b e l s e t _ c o l o r ( p2 g e t _ c o l o r ( ) ) p l t show ( ) d e f U p d a t e ( s e l f , v o l , x , dc , c , c h a n g e ) : s e l f vol = vol self x = x s e l f dc = dc self c = c s e l f change = change def SaveFig_x ( s e l f , x ) : plt figure () p l t imshow (1 − x , cmap= p l t cm g r a y ) plt xticks ([]) plt yticks ([]) p l t s a v e f i g ( Š T o p o l o g y png Š , d p i = 0 ) d e f S a v e F i g _ h i s ( s e l f , i t r _ h i s , com_his , v o l _ h i s ) : fig = plt figure () host = fig add_subplot (111) par1 = host twinx ( ) h o s t s e t _ x l i m ( , max ( i t r _ h i s ) + ) h o s t s e t _ y l i m ( ( c o m _ h i s ) ∗ , max ( c o m _ h i s ) ∗ ) 82 A.4 Parameter Settings par1 host host par1 s e t _ y l i m ( ( v o l _ h i s ) ∗ , ) set_xlabel ( ’ ’ ’ Iteration ’ ’ ’ ) s e t _ y l a b e l ( ’ ’ ’ Mean c o m p l i a n c e (Nmm) ’ ’ ’ ) s e t _ y l a b e l ( ’ ’ ’ Volume f r a c t i o n ’ ’ ’ ) c o l o r = p l t cm v i r i d i s ( ) c o l o r = p l t cm v i r i d i s ( ) p1 , = h o s t p l o t ( i t r _ h i s , com_his , Š o− Š , c o l o r = c o l o r , m a r k e r s i z e =5 , m a r k e r f a c e c o l o r =None , l a b e l = " C o m p l i a n c e " ) p2 , = p a r p l o t ( i t r _ h i s , v o l _ h i s , Š o− Š , c o l o r = c o l o r , m a r k e r s i z e =5 , m a r k e r f a c e c o l o r = Š w h i t e Š , l a b e l = " Volume " ) l n s = [ p1 , p2 ] host legend ( handles=lns , loc= Š best Š ) h o s t y a x i s l a b e l s e t _ c o l o r ( p1 g e t _ c o l o r ( ) ) p a r y a x i s l a b e l s e t _ c o l o r ( p2 g e t _ c o l o r ( ) ) p l t s a v e f i g ( Š H i s t o r y png Š , d p i =5 00 ) A.4 Parameter Settings import t i m e import math i f name == " main " : """ T h i s i s t h e main program A l l necessary parameters are d e f i n e d here Parameters −−−−−−−−−− E : float 83 A.4 Parameter Settings Young ’ s m o d u l u s o f t h e m a t e r i a l nu : f l o a t Poisson r a t i o of the material nelx : int Number o f e l e m e n t s i n x d i r e c t i o n nely : int Number o f e l e m e n t s i n y d i r e c t i o n vol_frac : float The p r e s c r i b e d t o t a l s t r u c t r a l v o l u m e penal : f l o a t The p e n a l t y e x p o n e n t rmin : f l o a t The l e n g t h o f t h e f i l t e r er : f l o a t The e v o l u t i o n a r y r a t e load : c l a s s The f o l l o w i n g l o a d s a r e p r e d e f i n e d : − Cantilever fesolve : class The f i n i t e e l e m e n t s o l v e r The f o l l o w i n g f e s o l v e r s a r e p r e d i f i n e d : − CvxFEA P l o t t i n g : bool Whether t o p l o t t h e images e v e r y i t e r a t i o n 84 A.4 Parameter Settings Saving : bool Whether t o save t h e f i n a l images """ # Material properties E = nu = # Mesh d e f i n a t i o n n e l x = 160 n e l y = 40 # Optimization parameters vol_frac = 0.5 penal = rmin = er = 0.02 # Applying load l o a d = C a n t i l e v e r ( n e l x , n e l y , E , nu ) # FEA s o l v e r f e s o l v e r = CvxFEA ( ) # Whether t o p l o t t h e images e v e r y i t e r a t i o n P l o t t i n g = True # Whether t o save t h e f i n a l images Saving = False # BESO o p t i m i z a t i o n o p t i m i z a t i o n = BESO2D ( l o a d , f e s o l v e r ) 85 A.4 Parameter Settings # Execute the data t = time time ( ) x = np o n e s ( ( n e l y , n e l x ) ) ke = l o a d l k ( l o a d E , l o a d nu ) u = f e s o l v e r d i s p l a c e ( l o a d , x , ke , p e n a l ) # Topology o p t i m i z a t i o n o p t i m i z a t i o n t o p o l o g y ( v o l _ f r a c , e r , rmin , penal , P l o t t i n g , Saving ) # Print the time cost p r i n t ( ’ ’ ’ Time c o s t : ’ ’ ’ , time time ( ) − t , ’ ’ ’ seconds ’ ’ ’ ) 86 ... mechanical properties of the printed parts Apart from the mechanical properties, the possibility of employing TPU material in civil engineering has not been studied previously The tasks of this thesis. .. and Ąndings of this thesis Chapter Literature Review Thermoplastic polyurethane (TPU) is a material that is the bridge between rubber and plastics It is an additively manufacturable polymer material. .. material cools to the crystallization point (T c , cooling curve, Figure 2.3) and solidiĄes 2.4 Mechanical properties of TPU Material In the past, the effect of TPU powder on the mechanical properties

Ngày đăng: 12/02/2023, 10:02

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN