NGHIÊN cứu điều KIỆN địa kỹ THUẬT PHỤC vụ THIẾT kế và THI CÔNG hố đào sâu

244 143 0
NGHIÊN cứu điều KIỆN địa kỹ THUẬT PHỤC vụ THIẾT kế và THI CÔNG hố đào sâu

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ XÂY DỰNG VIỆN KHOA HỌC CÔNG NGHỆ XÂY DỰNG NGUYỄN TRƯỜNG HUY NGHIÊN CỨU ĐIỀU KIỆN ĐỊA KỸ THUẬT PHỤC VỤ THIẾT KẾ VÀ THI CÔNG HỐ ĐÀO SÂU LUẬN ÁN TIẾN SĨ CHUYÊN NGÀNH: KỸ THUẬT XÂY DỰNG CƠNG TRÌNH NGẦM MÃ SỐ: 62.58.02.04 NGƯỜI HƯỚNG DẪN KHOA HỌC: TS TRỊNH VIỆT CƯỜNG PGS TS ĐOÀN THỀ TƯỜNG HÀ NỘI - 2015 i LỜI CAM ĐOAN Tôi xin cam đoan cơng trình khoa học tơi thực Các kết quả, số liệu luận án trung thực chưa công bố cơng trình khoa học khác Tác giả hồn tồn chịu trách nhiệm tính xác thực nguyên luận án Tác giả luận án Nguyễn Trường Huy ii LỜI CẢM ƠN Tác giả luận án xin bày tỏ lòng biết ơn sâu sắc trân trọng đến TS Trịnh Việt Cường PGS TS Đoàn Thế Tường hai thầy hướng dẫn trực tiếp tận tình bảo, hướng dẫn giúp đỡ tác giả suốt q trình thực hồn thành luận án Tác giả xin chân thành cảm ơn đến Lãnh đạo Viện Khoa học công nghệ xây dựng, Viện Thông tin Đào tạo Tiêu chuẩn hóa, Viện chuyên ngành Địa kỹ thuật tạo điều kiện thuận lợi, đóng góp ý kiến quý báu cho tác giả trình nghiên cứu Tác giả bày tỏ lòng biết ơn đến TS Trần Thương Bình anh chị em phịng thí nghiệm Địa kỹ thuật Trường Đại Học Kiến trúc Hà Nội, Phịng thí nghiệm Trường Đại học Xây dựng tạo điều kiện thuận lợi, giúp đỡ, động viên, trình thực nghiên cứu thực nghiệm luận án Tác giả xin bày tỏ lòng biết ơn chân thành đến đơn vị nơi tác giả công tác Trường Đại học Kiến trúc Hà Nội, tạo điều kiện thuận lợi, giúp đỡ, động viên để tác giả yên tâm tập trung nghiên cứu để hồn thành luận án Để hồn thành luận án tác giả động viên, ủng hộ, chia sẻ kịp thời từ gia đình lúc khó khăn nhất, tác giả xin bày tỏ lòng biết ơn chia sẻ thành cơng có thân đến gia đình Cuối cùng, tác giả xin chân thành cảm ơn đến bạn bè, đồng nghiệp giúp đỡ, động viên, ủng hộ, chia sẻ q trình tác giả hồn thành luận án iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ xii DANH MỤC BẢNG BIỂU xi DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT vii MỞ ĐẦU 1 Tính cấp thiết đề tài Đối tượng phạm vi nghiên cứu Mục tiêu Nội dung nghiên cứu luận án Cách tiếp cận phương pháp nghiên cứu Những luận điểm bảo vệ Những điểm khoa học Ý nghĩa khoa học thực tiễn Cơ sở tài liệu CHƯƠNG TỔNG QUAN CÁC VẤN ĐỀ NGHIÊN CỨU ĐÁNH GIÁ ĐIỀU KIỆN ĐỊA KỸ THUẬT HỐ ĐÀO SÂU 1.1 THỰC TRẠNG NGHIÊN CỨU LIÊN QUAN ĐẾN ĐỊA KỸ THUẬT PHỤC VỤ THIẾT KẾ HỐ ĐÀO SÂU: 1.1.1 Đặc điểm phạm vi nghiên cứu hố đào sâu 1.1.2 Các tượng địa kỹ thuật xảy thi công hố đào sâu 11 1.1.3 Các yếu tố ảnh hưởng đến dịch chuyển đất xung quanh hố đào sâu 12 1.1.4 Trạng thái ứng suất đất [38] 13 1.1.5 Tính tốn, thiết kế thi cơng hố đào sâu 15 1.1.6 Đánh giá ưu điểm, nhược điểm số mơ hình đất 17 1.2 CÁC NGHIÊN CỨU LIÊN QUAN ĐẾN KHẢO SÁT CUNG CẤP SỐ LIỆU ĐỊA KỸ THUẬT PHỤC VỤ THIẾT KẾ THI CÔNG HỐ ĐÀO SÂU 22 iv 1.2.1 Các phương pháp thí nghiệm địa kỹ thuật 27 1.2.2 Các thơng số đặc trưng đất tốn hố đào sâu 30 1.3 KẾT LUẬN CHƯƠNG 1: 35 CHƯƠNG THÍ NGHIỆM XÁC ĐỊNH THƠNG SỐ ĐẶC TRƯNG CỦA ĐẤT NỀN TRÊN MÁY BA TRỤC GIẢM ỨNG SUẤT NGANG 36 2.1 MỞ ĐẦU 36 2.2 CÁC PHƯƠNG PHÁP THÍ NGHIỆM HIỆN NAY XÁC ĐỊNH THƠNG SỐ ĐẦU VÀO ĐỂ THIẾT KẾ THI CÔNG HỐ ĐÀO SÂU 37 2.2.1 Thông số địa kỹ thuật để thiết kế thi công hố đào sâu 37 2.2.2 Thí nghiệm nén ba trục: 38 2.3 MƠ HÌNH THÍ NGHIỆM BA TRỤC GIẢM ỨNG SUẤT NGANG 39 2.3.1 Nội dung phương pháp thí nghiệm 40 2.3.2 Thiết bị, dụng cụ thí nghiệm 41 2.3.3 Quy trình thí nghiệm 42 2.3.4 Dỡ tải 44 2.3.5 Tính tốn, báo cáo kết thí nghiệm 45 2.3.7 Xử lý số liệu thí nghiệm 46 2.3.8 Kết thí nghiệm 47 2.4 NHẬN XÉT CHƯƠNG 55 CHƯƠNG MƠ HÌNH LADE CẢI TIẾN CHO BÀI TOÁN HỐ ĐÀO SÂU 58 3.1 ỨNG XỬ CỦA ĐẤT NỀN 58 3.2 MÔ HÌNH ĐẤT NỀN LADE 58 3.2.1 Giới thiệu mô hình Lade 58 3.2.2 Lý lựa chọn mơ hình Lade 58 3.2.3 Mơ hình Lade 59 3.3 MƠ HÌNH ĐẤT NỀN LADE CẢI TIẾN 65 3.3.1 Cơ sở để xây dựng mơ hình Lade cải tiến 65 3.3.2 Đặc trưng đàn hồi 66 3.3.3 Mặt phá hoại 68 v 3.3.4 Mặt biến dạng dẻo 70 3.3.5 Mặt chảy dẻo 74 3.3.6 Xác định đặc trưng mơ hình Lade cải tiến 79 3.3.7 Đánh giá độ tin cậy mơ hình Lade cải tiến 80 3.4 PHẦN MỀM TÍNH TỐN THEO MƠ HÌNH ĐẤT NỀN LỰA CHỌN 84 CHƯƠNG ÁP DỤNG TÍNH TỐN HỐ ĐÀO SÂU THEO MƠ HÌNH LADE CẢI TIẾN 89 4.1 NỘI DUNG TÍNH TỐN 89 4.2 MƠ HÌNH HĨA HỐ ĐÀO SÂU 90 4.2.1 Cơng trình Bệnh viện 108 91 4.2.2 Cơng trình Hoabinh Green City Minh Khai 98 4.2.3 Công trình đập thủy điện số 104 KẾT LUẬN VÀ KIẾN NGHỊ 112 KẾT LUẬN 112 KIẾN NGHỊ 113 CÁC CƠNG TRÌNH KHOA HỌC TÁC GIẢ ĐÃ CÔNG BỐ 114 DANH MỤC TÀI LIỆU THAM KHẢO 115 PHỤ LỤC 120 PHỤ LỤC A CHẾ TẠO THIẾT BỊ THÍ NGHIỆM 120 A.1 Buồng ba trục 120 A.2 Thiết bị dùng để tạo trì áp lực nước 121 A.3 Thiết bị tạo lực dọc trục 122 A.4 Thiết bị giảm áp lực buồng 123 A.5 Thiết bị đo biến biến dạng, đo áp suất 123 A.6 Thiết bị ghi chép số liệu 128 A.7 Các phụ kiện khác 129 A.8 Kết thí nghiệm 129 PHỤ LỤC B: PHƯƠNG PHÁP PHẦN TỬ HỮU HẠN 143 B.1 Thành phần ứng suất đất 143 vi B.2 Thành phần biến dạng đất 144 B.3 Quan hệ ứng suất biến dạng đất 145 B.4 Công dẻo 145 B.5 Ứng xử tái bền 146 B.6 Ma trận đàn dẻo 148 B.8 Phần tử dàn 151 B.9 Phần tử dầm 152 B.10 Phần tử tam giác đẳng tham số 154 B.11 Phần tử tiếp xúc 157 B.12 Các dạng phân tích 158 B.13 Giải hệ phương trình 159 B.14 Phương pháp giải toán phi tuyến 160 B.15 Mơ tả q trình thi cơng 162 B.17 Mô đường cong ứng suất - biến dạng thí nghiệm nén ba trục theo mơ hình Lade cải tiến 165 PHỤ LỤC C: MÃ NGUỒN PHẦN MỀM LADEDEEP 167 vii DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT A, B Thông số áp lực nước lỗ rỗng A, Rf, Kl, n, G, F Thông số mơ hình A, b Hệ số phương trình tuyến tính, dùng để xác định giá trị hệ số Poisson, xác định theo kết thí nghiệm Α Hệ số xác định theo tính chất vật liệu a Khoảng cách từ mặt đất đến điểm đặt Ea [A] Ma trận biến trường chuyển vị [A]e Ma trận tọa độ cụ thể nút Bt Mơ đun biến dạng thể tích tiếp tuyến [B] Ma trận biến đổi chuyển vị nút biến dạng tỷ đối CD Thí nghiệm nén ba trục cố kết nước CU Thí nghiệm nén ba trục cố kết khơng nước c Lực dính đất [Dp] Ma trận dẻo [D] Ma trận đàn hồi đất tốn biến dạng phẳng E Mơđun đàn hồi đất E0 Mô đun biến dạng đất Ea Tổng áp lực đất chủ động xác định từ hiệu áp lực đất bị động áp lực đất chủ động toàn chiều sâu trường Ei Môđun đàn hồi ban đầu Et Môđun đàn hồi tiếp tuyến E20, E25 Môđun đàn hồi cát tuyến e Hệ số rỗng đất Fx, Fy Thành phần thể tích tác dụng theo phương x, y đơn vị thể tích áp lực [F]e Lực nút tương đương phần tử hữu hạn (PTHH) [F]s G Mô đun đàn hồi trượt viii Grsief Độ cứng kháng cắt chuẩn ban đầu HĐS Hố đào sâu K K0 Hệ số theo phương ngang Ka Hệ số áp lực đất tĩnh Kp Hệ số áp lực đất chủ động K0,NC Hệ số áp lực đất bị động K Hệ số áp lực đất trạng thái cố kết bình thường Hệ số áp lực đất tĩnh đất cố kết K Thơng số mơ hình [K]e Ma trận độ cứng PTHH [K]s Ma trận độ cứng tổng thể kết cấu ksi Mô đun phản lực độ sâu xét ks Mô đun phản lực l Khoảng cách từ mặt đất đến điểm có áp lực zero m Số mũ độ cứng N Giá trị thể tích riêng đất cố kết bình thường [N] Ma trận đạo hàm riêng trường chuyển vị PTHH OCR Hệ số cố kết đất P Tải trọng gây chuyển vị δ p Áp lực đất thực tác dụng lên tường po Áp lực đất tĩnh lên tường pa Áp lực khí σc Ứng suất tiền cố kết đất Pref Sức bền chuẩn Px, Py Các thành phần ngoại lực theo phương x, y tác dụng đơn vị diện tích mặt ngòai vật thể đàn hồi Rf Độ huy động phá hoại SK Độ cố kết t Độ dày phân tử ix t0 Độ sâu ngàm cần thiết UU Thí nghiệm nén ba trục khơng cố kết khơng nước [U]s Véctơ chuyển vị nút kết cấu rời rạc hóa ux Chuyển vị điểm theo phương x uy Chuyển vị điểm theo phương y [u] Véctơ chuyển vị thành phần điểm PTHH [u]s Véctơ thành phần chuyển vị nút PTHH v Thể tích đặc trưng v0 Thể tích đặc trưng ban đầu đất ΔU0 Số gia mật độ lượng biến dạng Δσ Độ lệch ứng suất ΔW Số gia công học s Chuyển vị [α] Ma trận thông số αi hàm chuyển vị δ Dịch chuyển ngang tường δW Công học δu Chuyển vị hệ [δε] Véctơ biến dạng [δu] Véctơ chuyển vị εl Biến dạng đứng ( biến dạng dọc trục) εe Biến dạng đàn hồi εp Biến dạng dẻo εv Biến dạng thể tích [ε] Véctơ biến dạng tỷ đối γn Trọng lượng riêng đất lớp thứ n γw Trọng lượng riêng nước φ Góc ma sát đất, góc ma sát tiếp xúc φn Góc ma sát đất lớp thứ n 195 End; If so.nblock>1 then Begin so.chobk1(1); so.chobk2(1); End; //Initial Stress If h=1 then Begin // For i:=1 to so.nplan If so.plstg^[(i-1)*so.nstg+h]>0 then Begin //8 node element If so.plan^[i].nj=8 then Begin // ngp:=so.plan^[i].ngp; gauss(samp8,ngp); // For j:=1 to Begin coor8[j,1]:=so.jnt^[so.plan^[i].jn[j]].x; coor8[j,2]:=so.jnt^[so.plan^[i].jn[j]].y; End; dee2dp(dee,so.somal^[so.plstg^[(i-1)*so.nstg+h]].e,so.somal^[so.plstg^[(i-1)*so.nstg+h]].p,0); //Displacement of plane element For j:=1 to Begin l:=0; For k:=1 to Begin If so.cdis^[(so.plan^[i].jn[j]-1)*3+k]=0 then Begin l:=l+1; dis8[(j-1)*2+k]:=so.pm^[so.cdel^[so.plan^[i].jn[j]]+l-1]; End Else dis8[(j-1)*2+k]:=0; End; End; //Iteration over gauss point For j:=1 to ngp For k:=1 to ngp Begin DBmatmembrane8(bee8,det,coor8,samp8[j,1],samp8[k,1],so.actrl.et); //Strain For m:=1 to Begin eps[m]:=0; For n:=1 to 16 196 eps[m]:=eps[m]+bee8[m,n]*dis8[n]; End; //Stress For m:=1 to Begin so.ifs0^[i].vl[(j-1)*ngp+k,m]:=0; For n:=1 to so.ifs0^[i].vl[(j-1)*ngp+k,m]:=so.ifs0^[i].vl[(j-1)*ngp+k,m]+dee[m,n]*eps[n]; End; End; End; //6 node element If so.plan^[i].nj=6 then Begin // nip:=so.plan^[i].ngp; numint(samp6,wt,nip); // For j:=1 to Begin coor6[j,1]:=so.jnt^[so.plan^[i].jn[j]].x; coor6[j,2]:=so.jnt^[so.plan^[i].jn[j]].y; End; dee2dp(dee,so.somal^[so.plstg^[(i-1)*so.nstg+h]].e,so.somal^[so.plstg^[(i-1)*so.nstg+h]].p,0); //Displacement of plane element For j:=1 to Begin l:=0; For k:=1 to Begin If so.cdis^[(so.plan^[i].jn[j]-1)*3+k]=0 then Begin l:=l+1; dis8[(j-1)*2+k]:=so.pm^[so.cdel^[so.plan^[i].jn[j]]+l-1]; End Else dis8[(j-1)*2+k]:=0; End; End; //Iteration over gauss point For j:=1 to nip Begin DBmatmembrane6(bee6,det,coor6,samp6[j,1],samp6[j,2],so.actrl.et); //Strain For m:=1 to Begin eps[m]:=0; For n:=1 to 12 eps[m]:=eps[m]+bee6[m,n]*dis8[n]; End; //Stress 197 For m:=1 to Begin so.ifs0^[i].vl[j,m]:=0; For n:=1 to so.ifs0^[i].vl[j,m]:=so.ifs0^[i].vl[j,m]+dee[m,n]*eps[n]; End; End; End; End; //K0 procedure If so.stg^[h].k0opt=1 then Begin For i:=1 to so.nplan If so.plstg^[(i-1)*so.nstg+h]>0 then Begin If so.plan^[i].nj=8 then ngp:=so.plan^[i].ngp*so.plan^[i].ngp; If so.plan^[i].nj=6 then ngp:=so.plan^[i].ngp; For j:=1 to ngp Begin so.ifs0^[i].vl[j,1]:=so.ifs0^[i].vl[j,2]*so.somal^[so.plstg^[(i-1)*so.nstg+h]].k0; so.ifs0^[i].vl[j,3]:=so.ifs0^[i].vl[j,2]*so.somal^[so.plstg^[(i-1)*so.nstg+h]].k0; so.ifs0^[i].vl[j,4]:=0; End; End; End; //Effective Stress For i:=1 to so.nplan If so.plstg^[(i-1)*so.nstg+h]>0 then Begin If so.plan^[i].nj=8 then ngp:=so.plan^[i].ngp*so.plan^[i].ngp; If so.plan^[i].nj=6 then ngp:=so.plan^[i].ngp; For j:=1 to ngp For k:=1 to If so.pwp0^[i].vl[j]0 then Begin If so.plan^[i].nj=8 then ngp:=so.plan^[i].ngp*so.plan^[i].ngp; If so.plan^[i].nj=6 then ngp:=so.plan^[i].ngp; For j:=1 to ngp Begin For k:=1 to 198 vl[k]:=so.ifs0^[i].vl[j,k]; so.ConvertStress2DTo3D(inf13d,vl); If so.somal^[so.plstg^[(i-1)*so.nstg+h]].malmodel=9 then Begin WpLade(so.plpw^[(h-1)*so.nplan+i].vl[j],so.somal^[so.plstg^[(i1)*so.nstg+h]].pa,so.somal^[so.plstg^[(i-1)*so.nstg+h]].ladem,so.somal^[so.plstg^[(i1)*so.nstg+h]].ladea,so.somal^[so.plstg^[(i-1)*so.nstg+h]].ladeeta1,so.somal^[so.plstg^[(i1)*so.nstg+h]].ladeh,so.somal^[so.plstg^[(i-1)*so.nstg+h]].ladeap,so.somal^[so.plstg^[(i1)*so.nstg+h]].ladec,so.somal^[so.plstg^[(i1)*so.nstg+h]].ladep,inf13d); End; If so.somal^[so.plstg^[(i-1)*so.nstg+h]].malmodel=11 then Begin WpMLade(so.plpw^[(h-1)*so.nplan+i].vl[j],so.somal^[so.plstg^[(i1)*so.nstg+h]].pa,so.somal^[so.plstg^[(i-1)*so.nstg+h]].mladem,so.somal^[so.plstg^[(i1)*so.nstg+h]].mladea,so.somal^[so.plstg^[(i-1)*so.nstg+h]].mladeeta1,so.somal^[so.plstg^[(i1)*so.nstg+h]].mladeh,so.somal^[so.plstg^[(i-1)*so.nstg+h]].mladec,so.somal^[so.plstg^[(i1)*so.nstg+h]].mladep,inf13d); WpsMLade(so.plspw^[(h-1)*so.nplan+i].vl[j],so.somal^[so.plstg^[(i1)*so.nstg+h]].pa,so.somal^[so.plstg^[(i-1)*so.nstg+h]].mladem,so.somal^[so.plstg^[(i1)*so.nstg+h]].mladea,so.somal^[so.plstg^[(i-1)*so.nstg+h]].mladeeta1,so.somal^[so.plstg^[(i1)*so.nstg+h]].mladel,so.somal^[so.plstg^[(i-1)*so.nstg+h]].mladeap,so.somal^[so.plstg^[(i1)*so.nstg+h]].mladebt,inf13d); End; Writeln(fxt,so.plspw^[(h-1)*so.nplan+i].vl[j]); End; End; //Initial stress for plane element For i:=1 to so.nplan If so.plstg^[(i-1)*so.nstg+h]>0 then so.plstrs^[(h-1)*so.nplan+i].vl:=so.ifs0^[i].vl; //Load vector for initial stress For i:=1 to 3*so.njnt preload^[(h-1)*3*so.njnt+i]:=0; // For i:=1 to so.nplan If so.plstg^[(i-1)*so.nstg+h]>0 then Begin //8 node element If so.plan^[i].nj=8 then Begin // ngp:=so.plan^[i].ngp; gauss(samp8,ngp); // For j:=1 to Begin coor8[j,1]:=so.jnt^[so.plan^[i].jn[j]].x; coor8[j,2]:=so.jnt^[so.plan^[i].jn[j]].y; End; dee2dp(dee,so.somal^[so.plstg^[(i-1)*so.nstg+h]].e,so.somal^[so.plstg^[(i-1)*so.nstg+h]].p,0); //Initial unbalance load vector of element 199 For j:=1 to 16 bload[j]:=0; //Iteration over gauss point For j:=1 to ngp For k:=1 to ngp Begin fmquad(der8,fun8,samp8[j,1],samp8[k,1]); // DBmatmembrane8(bee8,det,coor8,samp8[j,1],samp8[k,1],so.actrl.et); // If so.actrl.et=1 then Begin r:=0; For m:=1 to r:=r+fun8[m]*coor8[m,1]; End; //Load vector For m:=1 to 16 Begin For n:=1 to Begin If so.pwp0^[i].vl[(j-1)*ngp+k]0 then sigmatotal[n]:=so.plstrs^[(h-1)*so.nplan+i].vl[(j-1)*ngp+k,n]+so.pwp^[(h-1)*so.nplan+i].vl[(j1)*ngp+k]; End; sigmatotal[4]:=so.plstrs^[(h-1)*so.nplan+i].vl[(j-1)*ngp+k,4]; // For n:=1 to Begin If so.actrl.et=0 then bload[m]:=bload[m]+sigmatotal[n]*bee8[n,m]*det*samp8[j,2]*samp8[k,2]; If so.actrl.et=1 then bload[m]:=bload[m]+sigmatotal[n]*bee8[n,m]*det*samp8[j,2]*samp8[k,2]*r; End; End; End;//gauss //Global load vector For j:=1 to Begin For k:=1 to If so.cdis^[(so.plan^[i].jn[j]-1)*3+k]=0 then preload^[(h-1)*3*so.njnt+(so.plan^[i].jn[j]-1)*3+k]:=preload^[(h-1)*3*so.njnt+(so.plan^[i].jn[j]1)*3+k]+bload[(j-1)*2+k]; End; End;//8 node element //6 node element If so.plan^[i].nj=6 then Begin 200 // nip:=so.plan^[i].ngp; numint(samp6,wt,nip); // For j:=1 to Begin coor6[j,1]:=so.jnt^[so.plan^[i].jn[j]].x; coor6[j,2]:=so.jnt^[so.plan^[i].jn[j]].y; End; dee2dp(dee,so.somal^[so.plstg^[(i-1)*so.nstg+h]].e,so.somal^[so.plstg^[(i-1)*so.nstg+h]].p,0); //Initial unbalance load vector of element For j:=1 to 12 bload[j]:=0; //Iteration over gauss point For j:=1 to nip Begin formtri6(der6,fun6,samp6[j,1],samp6[j,2]); // DBmatmembrane6(bee6,det,coor6,samp6[j,1],samp6[j,2],so.actrl.et); // If so.actrl.et=1 then Begin r:=0; For m:=1 to r:=r+fun6[m]*coor6[m,1]; End; // //Load vector For m:=1 to 12 Begin For n:=1 to Begin If so.pwp0^[i].vl[j]0 then sigmatotal[n]:=so.plstrs^[(h-1)*so.nplan+i].vl[j,n]+so.pwp^[(h-1)*so.nplan+i].vl[j]; End; sigmatotal[4]:=so.plstrs^[(h-1)*so.nplan+i].vl[j,4]; For n:=1 to Begin If so.actrl.et=0 then bload[m]:=bload[m]+0.5*sigmatotal[n]*bee6[n,m]*det*wt[j]; If so.actrl.et=1 then bload[m]:=bload[m]+0.5*sigmatotal[n]*bee6[n,m]*det*wt[j]*r; End; End; End;//gauss //Global load vector For j:=1 to Begin For k:=1 to 201 If so.cdis^[(so.plan^[i].jn[j]-1)*3+k]=0 then preload^[(h-1)*3*so.njnt+(so.plan^[i].jn[j]-1)*3+k]:=preload^[(h-1)*3*so.njnt+(so.plan^[i].jn[j]1)*3+k]+bload[(j-1)*2+k]; End; End;//6 node element // End;//Vong lap qua cac phan tu plane End; //Displacement For i:=1 to 3*so.njnt totd^[i]:=so.dis^[(h-1)*3*so.njnt+i]; // If h>1 then Begin //Xac dinh tai buoc truoc noi luc cua cac phan tu For i:=1 to 3*so.njnt preload^[(h-1)*3*so.njnt+i]:=preload^[(h-1-1)*3*so.njnt+i]; // //Giai lap ListBox.Items.Add('');num:=num+1;ListBox.ItemIndex:=num; step:=0; Repeat step:=step+1; ListBox.Items.Strings[ListBox.ItemIndex]:='Step: '+IntToStr(step); //Load matrix k:=0; For i:=1 to so.njnt For j:=1 to If so.cdis^[(i-1)*3+j]=0 then Begin k:=k+1; so.pm^[k]:=(load^[(h-1)*3*so.njnt+(i-1)*3+j]-preload^[(h-1)*3*so.njnt+(i-1)*3+j])/so.ictrl.nstep; End; // ListBox.Items.Strings[ListBox.ItemIndex]:='Step: '+IntToStr(step)+' Iteration: 0'; // If so.nblock=1 then Begin so.chobk1_1(1); so.chobk2_1(1); End; If so.nblock>1 then Begin so.chobk1(1); so.chobk2(1); End; //Total displacement // k:=0; For i:=1 to so.njnt Begin 202 For j:=1 to Begin If so.cdis^[(i-1)*3+j]=0 then Begin k:=k+1; totd^[(i-1)*3+j]:=totd^[(i-1)*3+j]+so.pm^[k]; ddis^[(i-1)*3+j]:=so.pm^[k]; End; If so.cdis^[(i-1)*3+j]=1 then Begin //Search static prescribe displacement pdis1:=0;pdis2:=0; For l:=1 to so.njdsp If so.jdsp^[l].fn=0 then Begin If so.jdsp^[l].dr=j then Begin If so.jdsp^[l].sc=h-1 then pdis1:=so.jdsp^[l].w; If so.jdsp^[l].sc=h then pdis2:=so.jdsp^[l].w; End; End; totd^[(i-1)*3+j]:=(pdis2-pdis1)*step/so.ictrl.nstep; ddis^[(i-1)*3+j]:=(pdis2-pdis1)/so.ictrl.nstep; End; End; End; // iter:=0; Repeat iter:=iter+1; // ListBox.Items.Strings[ListBox.ItemIndex]:='Step: '+IntToStr(step)+' Iteration: '+IntToStr(iter); // //Total unbalance load For i:=1 to 3*so.njnt dload^[i]:=0; // For i:=1 to so.njnt If so.jnt^[i].fxd>0 then If so.jntstg^[(i-1)*so.nstg+h]>0 then Begin For j:=1 to If so.cdis^[(i-1)*3+j]=0 then Begin so.jntifs^[(h-1)*so.nstg+i].vl[j]:=so.jntifs^[(h-1)*so.nstg+i].vl[j]+ddis^[(i1)*3+j]*so.fxd^[so.jnt^[i].fxd].w[j]; dload^[(i-1)*3+j]:=dload^[(i-1)*3+j]+so.jntifs^[(h-1)*so.nstg+i].vl[j]; End; End; 203 // For i:=1 to so.nplan If so.plstg^[(i-1)*so.nstg+h]>0 then Begin //8 node element If so.plan^[i].nj=8 then Begin // ngp:=so.plan^[i].ngp; gauss(samp8,ngp); // For j:=1 to Begin coor8[j,1]:=so.jnt^[so.plan^[i].jn[j]].x; coor8[j,2]:=so.jnt^[so.plan^[i].jn[j]].y; End; dee2dp(dee,so.somal^[so.plstg^[(i-1)*so.nstg+h]].e,so.somal^[so.plstg^[(i-1)*so.nstg+h]].p,0); //Initial unbalance load vector of element For j:=1 to 16 bload[j]:=0; //Increment displacement of plane element For j:=1 to For k:=1 to dis8[(j-1)*2+k]:=ddis^[(so.plan^[i].jn[j]-1)*3+k]; //Iteration over gauss point For j:=1 to ngp For k:=1 to ngp Begin fmquad(der8,fun8,samp8[j,1],samp8[k,1]); y:=0; For l:=1 to y:=y+coor8[l,2]*fun8[l]; If so.somal^[so.plstg^[(i-1)*so.nstg+h]].malmodel=1 then Begin c:=so.somal^[so.plstg^[(i-1)*so.nstg+h]].c+so.somal^[so.plstg^[(i-1)*so.nstg+h]].dc*y; If c>so.somal^[so.plstg^[(i-1)*so.nstg+h]].cmax then c:=so.somal^[so.plstg^[(i-1)*so.nstg+h]].cmax; If cso.somal^[so.plstg^[(i-1)*so.nstg+h]].pa then fi:=so.somal^[so.plstg^[(i-1)*so.nstg+h]].fi-so.somal^[so.plstg^[(i1)*so.nstg+h]].dfi*ln(i1o3/so.somal^[so.plstg^[(i-1)*so.nstg+h]].pa)/ln(10) Else fi:=so.somal^[so.plstg^[(i-1)*so.nstg+h]].fi; If fi>so.somal^[so.plstg^[(i-1)*so.nstg+h]].fimax then fi:=so.somal^[so.plstg^[(i-1)*so.nstg+h]].fimax; If fiso.somal^[so.plstg^[(i-1)*so.nstg+h]].pa then si:=so.somal^[so.plstg^[(i-1)*so.nstg+h]].si-so.somal^[so.plstg^[(i1)*so.nstg+h]].dsi*ln(i1o3/so.somal^[so.plstg^[(i-1)*so.nstg+h]].pa)/ln(10) Else si:=so.somal^[so.plstg^[(i-1)*so.nstg+h]].si; If si>so.somal^[so.plstg^[(i-1)*so.nstg+h]].simax then si:=so.somal^[so.plstg^[(i-1)*so.nstg+h]].simax; If siso.somal^[so.plstg^[(i-1)*so.nstg+h]].fimax then fi:=so.somal^[so.plstg^[(i-1)*so.nstg+h]].fimax; If fiso.somal^[so.plstg^[(i-1)*so.nstg+h]].pa then si:=so.somal^[so.plstg^[(i-1)*so.nstg+h]].si-so.somal^[so.plstg^[(i1)*so.nstg+h]].dsi*ln(i1o3/so.somal^[so.plstg^[(i-1)*so.nstg+h]].pa)/ln(10) Else si:=so.somal^[so.plstg^[(i-1)*so.nstg+h]].si; If si>so.somal^[so.plstg^[(i-1)*so.nstg+h]].simax then si:=so.somal^[so.plstg^[(i-1)*so.nstg+h]].simax; If si

Ngày đăng: 28/05/2019, 06:03

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan