Thứ Năm, 16 tháng 1, 2020

Julia Downloads Reach 12.95 Million (77% Growth Since Jan 2019)


As of Jan 1, 2020, Julia has been downloaded more than 12.95 million times - an increase of 77% in just one year. Julia use and popularity grew by double digits last year on every one of the 30+ metrics we track, including those listed below.
Cumulative Julia Growth Statistics
Total as of Jan 1, 2019
Total as of Jan 1, 2020
Growth
Number of News Articles Mentioning Julia or Julia Computing
253
468
+85%
Discourse Views (Julia Forums)
12,656,734
22,920,570
+81%
Julia Downloads (JuliaLang.org + Docker Hub + JuliaPro)
7,305,737
12,950,630
+77%
Published Citations of Julia: A Fast Dynamic Language for Technical Computing (2012) + Julia: A Fresh Approach to Numerical Computing (2017)
1,048
1,680
+60%
YouTube Julia Language Channel Views
1,013,276
1,562,223
+54%
     
    Julia Computing Pharmacometrics Webinar Featuring PumasAI and Pumas.jl: Julia Computing is hosting a free one hour Webinar on Friday Jan 24 from 12-1 pm EST (US) to discuss pharmacology modeling using Pumas.jl. The Webinar is led by Vijay Ivaturi, Professor of Pharmacology at the University of Maryland School of Pharmacy who initiated and leads the Pumas project. Please click here to register.
     
    Alan Edelman’s Sidney Fernbach Award Presentation on the ‘Power of Language’ Now Available on YouTube: Alan Edelman accepted the Sidney Fernbach Award at SC19 with a presentation on the ‘Power of Language’. This presentation is now available on YouTube. Alan is co-creator of Julia, co-founder and Chief Scientist at Julia Computing, director of the Julia Lab at MIT and Professor of Applied Mathematics at MIT. He was awarded the Sidney Fernbach Award for “outstanding breakthroughs in high-performance computing, linear algebra, and computational science and for contributions to the Julia programming language.”
     

     
    JuliaCon 2020 Deadlines: JuliaCon 2020 will take place July 27-31 at ISCTE - Instituto Universitário de Lisboa (ISCTE-IUL) in Lisbon, Portugal.
    1. JuliaCon 2020 Call for Proposals: JuliaCon 2020 proposals are due March 7, 2020. Proposal types include talks, lightning talks, minisymposia, workshops, posters and ‘Birds of a Feather’ breakout sessions. Please review submission guidelines, prepare and submit your proposal no later than March 7, 2020. Mentorship is also available for new presenters.
    2. Financial Assistance to Attend JuliaCon 2020: If financial assistance will impact your ability to attend JuliaCon 2020, please apply no later than March 7, 2020.
    3. Early Bird Ticket Discount: Early Bird Tickets are available for purchase now through April 20, 2020. Please purchase your tickets early to take advantage of discounted pricing.
    4. JuliaCon 2020 Call for Volunteers: JuliaCon runs on volunteers! Please consider signing up to volunteer. JuliaCon volunteer opportunities include:
      • Mentors for new speakers
      • Proceedings reviewers
      • Talk submission reviewers
      • Financial assistance application reviewers
      • Local/onsite voluntees
    5. JuliaCon 2020 Sponsors: JuliaCon relies on the support of sponsors. Click here for more information about becoming a JuliaCon sponsor.


    Julia #1 Most Exciting New Language for Bioinformatics: Bioinformatics scientist Albert Vilella conducted a survey and identified Julia as the #1 most exciting new language for bioinformatics
    Parallel Computing and Scientific Machine Learning: MIT instructor Chris Rackauckas has published his lecture notes on parallel computing and scientific machine learning. Lectures include introductions to Julia, scientific machine learning, code optimization, high performance computing, parallelism, ordinary differential equations, automatic differentiation, differentiable programming, GPU computing, neural networks and more.
     
    Julia for High Schoolers: Julia Computing co-founder and CTO (Tools) Keno Fischer participated in a Skype a Scientist session with students at Athens High School in Athens, Alabama. Keno discussed programming languages, supercomputers, and how to get started on programming as a high school student.
     
    Julia On the March: James Warner asks “Is Julia Set to Take Over Python the Same Way Python Took Over Java?” Click here to read more.
     
    Getting to Know Julia at 36th Chaos Communication Congress (36C3): Michael Herbst presented Getting to Know Julia at the 36th Chaos Communication Congress (36C3) in Leipzig. Click here to read more about the workshop and access workshop materials.
     
    Julia Computing Enterprise Solutions: Contact Julia Computing for more information about putting Julia to work for your organization, deploying Julia more efficiently, effectively and at scale.
    • JuliaSure: JuliaSure provides enterprise support and indemnity for organizations using Julia.
    • JuliaTeam: JuliaTeam provides enterprise governance including private and package development, deployment, management, security, support and indemnity.
    • JuliaRun: JuliaRun allows you to scale Julia deployment from a single machine to dozens or hundreds of nodes in a public or private cloud environment, including AWS, Azure or Google Cloud.
    JuliaBox 30 Day Free Trial: JuliaBox is now available with a 30 day free trial. JuliaBox is the fastest and easiest way to start using Julia right away with no download required. Register today to start your 30 day free trial.
     
    JuliaBox Academic Discount: Hundreds of students and faculty at universities around the world use JuliaBox for classroom instruction and learning. Use free and open source materials to design your own course using Julia. JuliaBox starts at just $7 per month including a 50% academic discount. Sign up online or contact Julia Computing to take advantage of the academic discount or for more information.

    Julia and Julia Computing in the News
    • InsideHPC: Julia Computing and GPU Acceleration
    • HPCWire: Julia Computing to Use Machine Learning and Differentiable Programming for Energy Applications
    • InsideHPC: Joe Landman on How the Cloud is Changing HPC
    • Economic Times : Code Decode - Newer Challenges for Professional Coders
    • Analytics Insight : Top 10 Data Science Programming Languages for 2020
    • Robots: Top 10 Artificial Intelligence Programming Languages You Must Learn In 2020
    • Go Abekawa’s Go Global : Interview with Tanmay Bakshi
    • TechBeacon: 14 Data Scientists You Should Follow on Twitter
    Julia Blog Posts
    Upcoming Julia Events
    Recent Julia Events
    Julia Jobs, Fellowships and Internships
    Do you work at or know of an organization looking to hire Julia programmers as staff, research fellows or interns? Would your employer be interested in hiring interns to work on open source packages that are useful to their business? Help us connect members of our community to great opportunities by sending us an email, and we'll get the word out.
    There are more than 300 Julia jobs currently listed on Indeed.com, including jobs at Accenture, Airbus, Amazon, AstraZeneca, AT&T, Barnes & Noble, BlackRock, Capital One, CBRE, Charles River Analytics, Citigroup, Comcast, Conde Nast, Cooper Tire & Rubber, Disney, Dow Jones, Facebook, Gallup, Genentech, General Electric, Google, Huawei, Ipsos, Johnson & Johnson, KPMG, Lockheed Martin, Match, McKinsey, NBCUniversal, Netflix, Nielsen, Novartis, OKCupid, Opendoor, Oracle, Pandora, Peapod, Pfizer, Raytheon, Spectrum, Wells Fargo, Zillow, Brown, BYU, Caltech, Dartmouth, Emory, Harvard, Johns Hopkins, Louisiana State University, Massachusetts General Hospital, MIT, Penn State, Princeton, UC Davis, University of Chicago, University of Delaware, University of Kentucky, UNC-Chapel Hill, USC, University of Virginia, Argonne National Laboratory, Federal Reserve Bank, Lawrence Berkeley National Laboratory, Los Alamos National Laboratory, National Renewable Energy Laboratory, Oak Ridge National Laboratory, Pacific Northwest National Laboratory, State of Wisconsin and many more.
    Contact Us: Please contact us if you wish to:
    • Purchase or obtain license information for Julia products such as JuliaSure, JuliaTeam, or JuliaRun
    • Obtain pricing for Julia consulting projects for your organization
    • Schedule Julia training for your organization
    • Share information about exciting new Julia case studies or use cases
    • Spread the word about an upcoming conference, workshop, training, hackathon, meetup, talk or presentation involving Julia
    • Partner with Julia Computing to organize a Julia meetup, conference, workshop, training, hackathon, talk or presentation involving Julia
    • Submit a Julia internship, fellowship or job posting
    About Julia and Julia Computing
    Julia is the fastest high performance open source computing language for data, analytics, algorithmic trading, machine learning, artificial intelligence, and other scientific and numeric computing applications. Julia solves the two language problem by combining the ease of use of Python and R with the speed of C++. Julia provides parallel computing capabilities out of the box and unlimited scalability with minimal effort. Julia has been downloaded more than 12.95 million times and is used at more than 1,500 universities. Julia co-creators are the winners of the 2019 James H. Wilkinson Prize for Numerical Software and the 2019 Sidney Fernbach Award. Julia has run at petascale on 650,000 cores with 1.3 million threads to analyze over 56 terabytes of data using Cori, one of the ten largest and most powerful supercomputers in the world.
    Julia Computing was founded in 2015 by all the creators of Julia to develop products and provide professional services to businesses and researchers using Julia.

    Thứ Tư, 1 tháng 1, 2020

    Books & Quotes


    -------------------------------------------------------------------------------------------------------
    22/5/19
    CODE
    1. Bạn rất nên học code để luyện tư duy và xây dựng cách làm việc, nhưng nếu bạn nghĩ rằng bạn có thể đem những dòng code của mình áp dụng vào công việc thực tế, bạn sẽ phải bỏ ra rất nhiều công sức đầu tư”- Tư duy về code và cuộc sống
    2. “Đừng vội vã nhảy vào học những thứ ngôn ngữ được các trung tâm trực tuyến tung hô để rồi cuối cùng đứng lưng chừng giữa “hiểu” và “vô ích”. Kịch bản đó cũng giống như khi bạn đi “khoe” với nhà tuyển dụng rằng bạn hiểu công thức kế toán, hiểu Dr là gì và Cr là gì nhưng lại chưa một lần cân được sổ sách thực tế, chưa từng hiểu giá trị của công việc kế toán với hoạt động của công ty. Tất cả những gì bạn đã học về code, nếu đi sai đường, hoàn toàn có thể chỉ là sự phí phạm về thời gian và công sức” 
    3. "Tôi nghĩ tất cả mọi người đều NÊN học code. Nhưng không phải ai cũng nên học đến mức code ra được sản phẩm hoàn thiện"
    4. "Steve Jobs đã từng nói “Hãy học lập trình. Nó dạy bạn cách suy nghĩ” và sự thật là như vậy. Code nói riêng và toàn bộ ngành IT nói chung có nhiệm vụ là cải thiện cuộc sống, cải thiện quy trình làm việc của con người. "
    5. "Code để hiểu tư duy cũng giống như ngồi đọc một/nhiều quyển sách (sách bình luận về mỹ thuật chẳng hạn) và ngẫm nghĩ, “cảm” được những điều hay ho thú vị trong những quyển sách đó."
    6. "Bạn có thể học code, nhưng là chỉ để xây dựng tư duy mạch lạc và kỹ năng giải quyết vấn đề. Ở hướng đi này, hãy hỏi ý kiến những coder mà bạn quen. Họ sẽ vạch ra cho bạn hướng đi tốt nhất để biến code thành một kỹ năng hữu ích, tuy không phải là để kiếm sống nhưng vẫn có thể có ý nghĩa không kém gì ngoại ngữ và kế toán."
    7. "Hãy nhớ rằng Elon Musk ngày nay không còn code nữa. Nhưng ông có tư duy của một coder."
    8. Những điều tâm đắc nhất của tôi trong cuốn sách “Lập trình & Cuộc sống"
    9. "Cuốn sách Clean Code của tác giả Robert Cecil Martin có kiến thức dạy bạn về tư duy, về phương pháp, về chân lý trong lập trình"

    -------------------------------------------------------------------------------------------------------
    22/5/19
    ALBERT EISTEIN
    1. “Điều quan trọng là không bao giờ ngừng đặt câu hỏi”
    2. “Người chưa bao giờ phạm sai lầm là người chưa bao giờ thử những điều mới”

    Thứ Năm, 26 tháng 12, 2019

    CÁCH NHẬN BIẾT ĐẤT YẾU VÀ CÁC BIỆN PHÁP XỬ LÝ NỀN ĐẤT YẾU



    I. Cách nhận biết nền đất yếu:
                Nền đất đóng vai trò quan trọng trong tất cả các công trình. Nó có thể ảnh hưởng đến chất lượng và tuổi thọ của công trình. Để nhận biết về đất yếu có hai quan điểm dựa vào định tính và định lượng.
                Về định tính: Đất yếu là loại đất mà bản thân nó không đủ khả năng tiếp thu tải trọng của công trình bên trên như các công trình nhà cửa, đường xá, đê đập…Khái niệm này nói chung không chặt chẽ và không có cơ sở khoa học.
                Về định lượng: Đất yếu là loại đất có sức chịu tải kém. dễ bị phá hoại, biến dạng dưới tác dụng của tải trọng công trình dựa trên những số liệu về chỉ tiêu cơ lý cụ thể. Khái niệm này được thế giới chấp nhận và có cơ sở khoa học.
    Dựa vào chỉ tiêu vật lý, đất được gọi là yếu khi :
    • Dung trọng :                      gW <= 1,7 T/m3.
    -Hệ số rỗng :                       e >=1.
    -Độ ẩm :                             W >=40%.
    -Độ bão hòa :                      G >=0,8.
    Dựa vào các chỉ tiêu cơ học :
               - Sức chịu tải bé:                     R = (0,5 – 1)kG/ cm2
               - Modun biến dạng :                E0 <= 50 kG/cm2.
                            - Hệ số nén :                            a >= 0,01 cm2/kG.
                            - Góc ma sát trong :                fi <= 100.
                            - Lực dính (đối với đất dính): c <= 0,1 kG/cm2.
                Trong thực tế xây dựng, chúng ta thường gặp những loại nền đất yếu sau: đất sét yếu; đất cát yếu (cát chảy); bùn; than bùn và đất than bùn, đất bazan, đất đắp.
                + Đất sét yếu: Gồm các loại đất sét hoặc á sét tương đối chặt ở trạng thái bão hòa nước, có cường độ thấp. Trong đất sét gồm có 2 thành phần :
                - Phần phân tán thô (gọi là những hạt sét) có kích thước > 0,002mm. Chủ yếu có các khoáng chất nguồn gốc lục địa như thạch anh, fenspat,…
                - Phần phân tán mịn (gọi là khoáng chất sét) bao gồm những hạt có kích thước rất bé (2 – 0,1mm) và keo (0,1 – 0,001mm). Những khoáng chất này quyết định tính chất cơ lý của đất sét. Các khoáng chất sét thường gặp nhất là 3 nhóm điển hình : kaolinit, mônmôrilônit và ilit.
                + Đất cát yếu (cát chảy): Gồm các loại cát mịn, kết cấu hạt rời rạc, có thể bị nén chặt hoặc pha loãng đáng kể. Loại đất này khi chịu tải trọng động thì chuyển sang trạng thái chảy gọi là cát chảy.
                Cát được hình thành tạo ở biển hoặc vũng, vịnh. Về thành phần khoáng vật, cát chủ yếu là thạch anh, đôi khi có lẫn tạp chất. Cát gồm những hạt có kích thước 0,05 – 2mm.
                 Cát được coi là yếu khi cỡ hạt thuộc loại nhỏ, mịn trở xuống, đồng thời có kết cấu rời rạc, ở trạng thái bão hòa nước, có thể bị nén chặt và hóa lỏng đáng kể, chứa nhiều di tích hữu cơ và chất lẫn sét. Những loại cát đó khi chịu tác dụng rung hoặc chấn động thì trở thành trạng thái lỏng nhớt, gọi là cát chảy.
                Đặc điểm quan trọng nhất của cát là bị nén chặt nhanh, có độ thấm nước rất lớn. Khi cát gồm những hạt nhỏ, nhiều hữu cơ và bão hòa nước thì chúng trở thành cát chảy, hiện tượng này đôi khi rất nguy hiểm cho công trình và cho công tác thi công. Cần lưu ý 2 hiện tượng nguy hiểm đối với cát yếu: Biến loãng và cát chảy.
                + Bùn: Bùn là trầm tích thuộc giai đoạn đầu của quá trình hình thành đất đá loại sét, được tạo trong nước có sự tham gia của các vi sinh vật. Bùn luôn có độ ẩm vượt quá giới hạn chảy và hệ số rỗng e > 1 đối với cát pha sét và sét pha cát và e > 1,5 đối với sét.
                Bùn là những trầm tích hiện đại, được thành tạo chủ yếu do kết quả tích lũy các vật liệu phân tán mịn bằng cơ học hoặc hoá học ở đáy biển, đáy hồ, bãi lầy… Bùn chỉ liên quan với các chỗ chứa nước, là các trầm tích mới lắng đọng, no nước và rất yếu về mặt chịu lực.
                Theo thành phần hạt rất mịn (<200mµ), bùn có thể là cát pha sét, sét pha cát, sét và cũng có thể là cát, nhưng chỉ là cát nhỏ trở xuống.
                Độ bền của bùn rất bé, vì vậy việc phân tích sức chống cắt (SCC) thành lực ma sát và lực dính là không hợp lý. SCC của bùn phụ thuộc vào tốc độ phát triển biến dạng. Góc ma sát có thể xấp xỉ bằng không. Chỉ khi bùn mất nước, mới có thể cho góc ma sát.
                Việc xây dựng các công trình trên bùn chỉ có thể thực hiện sau khi đã tiến hành các biện pháp xử lý nền.
                + Than bùn và Đất than bùn: Than bùn là đất có nguồn gốc hữu cơ, thành tạo do kết quả phân hủy các di tích hữu cơ, chủ yếu là thực vật, tại các bãi lầy và những nơi bị hóa lầy. Đất loại này chứa các hỗn hợp vật liệu sét và cát.
                Trong điều kiện thế nằm thiên nhiên, than bùn có độ ẩm cao 85 – 95% hoặc cao hơn tùy theo thành phần khoáng vật, mức độ phân hủy, mức độ thoát nước…
                Than bùn là loại đất bị nén lún lâu dài, không đều và mạnh nhất. Hệ số nén lún có thể đạt từ 3-8, thậm chí 10 kG/cm2. Không thể thí nghiệm nén than bùn với mẫu có chiều cao thông thường là 15-20cm, mà phải từ 40-50cm.
    Khi xây dựng ở những vùng đất than bùn, cần áp dụng các biện pháp : làm đai cốt thép, khe lún, cắt nhà thành từng đoạn cứng riêng rẽ, làm nền cọc, đào hoặc thay một phần than bùn.
                + Đất bazan: Là loại đất yếu với đặc điểm độ rỗng lớn, dung trọng khô be, khả năng thấm nước cao, dễ bị lún sập.
                + Đất đắp: Loại đất này được tạo nên do tác động của con người. Đặc điểm của đất đắp là phân bố đứt đoạn và có thành phần không thuần nhất.
    Theo thành phần có thể chia thành 4 loại sau :
                - Đất gồm hỗn hợp các chất thải của sản xuất công nghiệp và xây dựng.
                - Đất hỗn hợp các chất thải của sản xuất và rác thải sinh hoạt.
                - Đất của các nền đắp trên cạn và khu đắp dưới nước (để tạo bãi).
                - Đất thải bên trong và bên ngoài các mỏ khoáng sản.
    Nhìn chung, các loại đất đắp hầu hết đều phải có biện pháp xử lý trước khi xây dựng.
    II. Các biện pháp xử lý nền đất yếu:
                Xử lý nền đất yếu nhằm mục đích làm tăng sức chịu tải của nền đất, cải thiện một số tính chất cơ lý của nền đất yếu như: Giảm hệ số rỗng, giảm tính nén lún, tăng độ chặt, tăng trị số modun biến dạng, tăng cư­ờng độ chống cắt của đất…Đối với công trình thủy lợi, việc xử lý nền đất yếu còn làm giảm tính thấm của đất, đảm bảo ổn định cho khối đất đắp. Vậy xử lý nền đất yếu có hai phương pháp cơ bản đó là: Thay thế nền đất yếu. Phạm vi áp dụng tốt nhất khi lớp đất yếu có chiều dày bé hơn 3m. Không nên sử dụng phương pháp này khi nền đất có mực nước ngầm cao và nước có áp vì sẽ tốn kém về việc hạ mực nước ngầm và đệm cát sẽ kém ổn định. Gia cường nền đất yếu.
    Các biện pháp xử lý nền thông thư­ờng:
                – Các biện pháp cơ học: Bao gồm các phư­ơng pháp làm chặt bằng đầm, đầm chấn động, phư­ơng pháp làm chặt bằng giếng cát, các loại cọc (cọc cát, cọc đất, cọc vôi…), phư­ơng pháp thay đất, phương pháp nén trước, phương pháp vải địa kỹ thuật, phương pháp đệm cát…
                – Các biện pháp vật lý: Gồm các ph­ương pháp hạ mực n­ước ngầm, phư­ơng pháp dùng giếng cát, phương pháp bấc thấm, điện thấm…
                – Các biện pháp hóa học: Gồm các ph­ương pháp keo kết đất bằng xi măng, vữa xi măng, phương pháp Silicat hóa, phương pháp điện hóa…
                Phư­ơng pháp xử lý nền đất yếu bằng cọc cát khác với các loại cọc cứng khác (bê tông, bê tông cốt thép, cọc gỗ, cọc tre…) là một bộ phận của kết cấu móng, làm nhiệm vụ tiếp nhận và truyền tải trọng xuống đất nền, mạng lư­ới cọc cát làm nhiệm vụ gia cố nền đất yếu nên còn gọi là nền cọc cát. Việc sử dụng cọc cát để gia cố nền có những ưu điểm nổi bật sau: Cọc cát làm nhiệm vụ như­ giếng cát, giúp nư­ớc lỗ rỗng thoát ra nhanh, làm tăng nhanh quá trình cố kết và độ lún ổn định diễn ra nhanh hơn; Nền đất đ­ược ép chặt do ống thép tạo lỗ, sau đó lèn chặt đất vào lỗ làm cho đất đ­ược nén chặt thêm, nước trong đất bị ép thoát vào cọc cát, do vậy làm tăng khả năng chịu lực cho nền đất sau khi xử lý; Cọc cát thi công đơn giản, vật liệu rẻ tiền (cát) nên giá thành rẻ hơn so với dùng các loại vật liệu khác. Cọc cát thường được dùng để gia cố nền đất yếu có chiều dày > 3m.
                Phương pháp xử lý nền bằng cọc vôi và cọc đất – ximăng
    Cọc vôi thường được dùng để xử lý, nén chặt các lớp đất yếu như: Than bùn, bùn, sét và sét pha ở trạng thái dẻo nhão. Việc sử dụng cọc vôi có những tác dụng sau:
                – Sau khi cọc vôi được đầm chặt, đường kính cọc vôi sẽ tăng lên 20% làm cho đất xung quanh nén chặt lại.
                – Khi vôi được tôi trong lỗ khoan thì nó toả ra một nhiệt lượng lớn làm cho nước lỗ rỗng bốc hơi làm giảm độ ẩm và tăng nhanh quá trình nén chặt.
                – Sau khi xử lý bằng cọc vôi nền đất được cải thiện đáng kể: Độ ẩm của đất giảm 5 – 8%; Lực dính tăng lên khoảng 1,5 – 3lần.
                Việc chế tạo cọc đất – ximăng cũng giống như đối với cọc đất – vôi, ở đây xilô chứa ximăng và phun vào đất với tỷ lệ định trước. Lưu ý sàng ximăng trước khi đổ vào xilô để đảm bảo ximăng không bị vón cục và các hạt ximăng có kích thước đều < 0,2mm, để không bị tắc ống phun. Hàm lượng ximăng có thể từ 7 – 15% và kết quả cho thấy gia cố đất bằng ximăng tốt hơn vôi và đất bùn gốc cát thì hiệu quả cao hơn đất bùn gốc sét.
                Phương pháp xử lý nền bằng đệm cát. Lớp đệm cát sử dụng hiệu quả cho các lớp đất yếu ở trạng thái bão hoà nước (sét nhão, sét pha nhão, cát pha, bùn, than bùn…) và chiều dày các lớp đất yếu nhỏ hơn 3m. Biện pháp tiến hành: Đào bỏ một phần hoặc toàn bộ lớp đất yếu (trường hợp lớp đất yếu có chiều dày bé) và thay vào đó bằng cát hạt trung, hạt thô đầm chặt.
    Việc thay thế lớp đất yếu bằng tầng đệm cát có những tác dụng chủ yếu sau:
                – Lớp đệm cát thay thế lớp đất yếu nằm trực tiếp dưới đáy móng, đệm cát đóng vai trò như một lớp chịu tải, tiếp thu tải trọng công trình và truyền tải trọng đó các lớp đất yếu bên dưới.
                – Giảm được độ lún và chênh lệch lún của công trình vì có sự phân bộ lại ứng suất do tải trọng ngoài gây ra trong nền đất dưới tầng đệm cát.
                – Giảm được chiều sâu chôn móng nên giảm được khối lượng vật liệu làm móng.
                – Giảm được áp lực công trình truyền xuống đến trị số mà nền đất yếu có thể tiếp nhận được.
                – Làm tăng khả năng ổn định của công trình, kể cả khi có tải trọng ngang tác dụng, vì cát được nén chặt làm tăng lực ma sát và sức chống trượt. Tăng nhanh quá trình cố kết của đất nền, do vậy làm tăng nhanh khả năng chịu tải của nền và tăng nhanh thời gian ổn định về lún cho công trình.
                – Về mặt thi công đơn giản, không đòi hỏi thiết bị phức tạp nên được sử dụng tương đối rộng rãi. Phạm vi áp dụng tốt nhất khi lớp đất yếu có chiều dày bé hơn 3m. Không nên sử dụng phương pháp này khi nền đất có mực nước ngầm cao và nước có áp vì sẽ tốn kém về việc hạ mực nước ngầm và đệm cát sẽ kém ổn định.
                 Phương pháp đầm chặt lớp đất mặt. Khi gặp trường hợp nền đất yếu nhưng có độ ẩm nhỏ (G < 0,7) thì có thể sử dụng phương pháp đầm chặt lớp đất mặt để làm cường độ chống cắt của đất và làm giảm tính nén lún. Lớp đất mặt sau khi được đầm chặt sẽ có tác dụng như một tầng đệm đất, không những có ưu điểm như phương pháp đệm cát mà cón có ưu điểm là tận dụng được nền đất thiên nhiên để đặt móng, giảm được khối lượng đào đắp. Để đầm chặt lớp đất mặt, người ta có thể dùng nhiều biện pháp khác nhau, thường hay dùng nhất là phương pháp đầm xung kích: Theo phương pháp này quả đầm trọng lượng 1 – 4 tấn (có khi 5 – 7 tấn) và đường kính không nhỏ hơn 1m. Để hiệu quả tốt khi chọn quả đầm nên đảm bảo áp lực tĩnh do quả đầm gây ra không nhỏ hơn 0,2kg/ cm2 với loại đất sét và 0,15kg/cm2 với đất loại cát.
                Phương pháp gia tải nén trước. Phương pháp này có thể sử dụng để xử lý khi gặp nền đất yếu như than bùn, bùn sét và sét pha dẻo nhão, cát pha bão hoà nước.
    Dùng phương pháp này có các ưu điểm sau:
                – Tăng nhanh sức chịu tải của nền đất.
                – Tăng nhanh thời gian cố kết, tăng nhanh độ lún ổn định theo thời gian.
    Các biện pháp thực hiện:
                – Chất tải trọng (cát, sỏi, gạch, đá…) bằng hoặc lớn hơn tải trọng công trình dự kiến thiết kế trên nền đất yếu, để chọn nền chịu tải trước và lún trước khi xây dựng công trình.
                – Dùng giếng cát hoặc bấc thấm để thoát nước ra khỏi lỗ rỗng, tăng nhanh quá trình cố kết của đất nền, tăng nhanh tốc độ lún theo thời gian. Tuỳ yêu cầu cụ thể của công trình, điều kiện địa chất công trình, địa chất thuỷ văn của nơi xây dựng mà dùng biện pháp xử lý thích hợp, có thể dùng đơn lẻ hoặc kết hợp cả hai biện pháp trên. Phư­ơng pháp xử lý nền đất yếu bằng bấc thấm là phương pháp kỹ thuật thoát nước thẳng đứng bằng bấc thấmkết hợp với gia tải trước. Khi chiều dày đất yếu rất lớn hoặc khi độ thấm của đất rất nhỏ thì có thể bố trí đường thấm thẳng đứng để tăng tốc độ cố kết. Phương pháp này thường dùng để xử lý nền đường đắp trên nền đất yếu.
                Phương pháp bấc thấm (PVD) có tác dụng thấm thẳng đứng để tăng nhanh quá trình thoát nước trong các lỗ rỗng của đất yếu, làm giảm độ rỗng, độ ẩm, tăng dung trọng. Kết quả là làm tăng nhanh quá trình cố kết của nền đất yếu, tăng sức chịu tải và làm cho nền đất đạt độ lún quy định trong thời gian cho phép. Phương pháp bấc thấm có thể sử dụng độc lập, nhưng trong trường hợp cần tăng nhanh tốc độ cố kết, người ta có thể sử dụng kết hợp đồng thời biện pháp xử lý bằng bấc thấm với gia tải tạm thời, tức là đắp cao thêm nền đường so với chiều dày thiết kế 2 – 3m trong vài tháng rồi sẽ lấy phần gia tải đó đi ở thời điểm mà nền đường đạt được độ lún cuối cùng như trường hợp nền đắp không gia tải. Bấc thấm được cấu tạo gồm 2 phần: Lõi chất dẽo (hay bìa cứng) được bao ngoài bằng vật liệu tổng hợp (thường là vải địa kỹ thuật Polypropylene hay Polyesie không dệt…) Bấc thấm có các tính chất vật lý đặc trưng sau:
                – Cho nước trong lỗ rỗng của đất thấm qua lớp vải địa kỹ thuật bọc ngoài vào lõi chất dẽo.
                – Lõi chất dẽo chính là đường tập trung nước và dẫn chúng thoát ra ngoài khỏi nền đất yếu bão hòa nước. Lớp vải địa kỹ thuật bọc ngoài là Polypropylene và Polyesie không dệt hay vật liệu giấy tổng hợp, có chức năng ngăn cách giữa lõi chất dẽo và đất xung quanh, đồng thời là bộ phận lọc, hạn chế cát hạt mịn chui vào làm tắc thiết bị. Lõi chất dẽo có 2 chức năng: Vừa đỡ lớp bao bọc ngoài, và tạo đường cho nước thấm dọc chúng ngay cả khi áp lực ngang xung quanh lớn. Nếu so sánh hệ số thấm nước giữa bấc thấm PVD với đất sét bão hòa nước cho thấy rằng, bấc thấm PVD có hệ số thấm (K = 1 x 10-4m/s) lớn hơn nhiều lần so với hệ số thấm nước của đất sét (k = 10 x 10-5m/ngày đêm). Do đó, các thiết bị PVD dưới tải trọng nén tức thời đủ lớn có thể ép nước trong lỗ rỗng của đất thoát tự do ra ngoài.
                Nền đất yếu có nhiều tác hại và nguy cơ gây mất an toàn cho các công trình xây dựng. Việc nghiên cứu nền đất yếu và xác định biện pháp xử lý phù hợp có một ý nghĩa quan trọng. Trong thực tế, cần căn cứ vào điều kiện địa chất công trình cụ thể để xử lý một cách hợp lý.

    ThS. Nguyễn Hữu Sà

    Thứ Ba, 24 tháng 12, 2019

    OpenSees Tutorial

    What is OpenSees?

    • A software framework for simulation applications in earthquake engineering using finite element methods. OpenSees is not a code.
    • A communication mechanism for exchanging and building upon research accomplishments.
    • As open-source software, it has the potential for a community code for earthquake engineering.



    OpenSees User Manual, Examples Manual

    OpenSees Command Language Manual

    OpenSees Examples, Link

    Basic Examples Manual, Link

    OpenSees Examples Manual -- Structural Models & Anlyses, Link

    Simulating a Centrifuge Test using the OpenSees Framework, link

    Time History Analysis of a 2D Elastic Cantilever Column, link

    Lateral Loads -- Cyclic Lateral Load, link

    Example 4. Portal Frame, link

    OpenSees Github

    OpenSee 2012 - Geotechnical Modeling: Youtube

    Thứ Tư, 13 tháng 11, 2019

    Easy Python

    (1) Matplotlib & ggplot (Link: Github)
    #Display Matplotlib styles
    %matplotlib inline
    plt.style.available

    #Plot ggplot style
    import numpy as np
    import matplotlib.pyplot as plt
    def frecuencias(f1=10.0, f2=100.0):
        max_time = 0.5
        times = np.linspace(0, max_time, 1000)
        signal = np.sin(2 * np.pi * f1 * times) + np.sin(2 * np.pi * f2 * times)
        with plt.style.context("ggplot"):
            plt.plot(signal, label="Señal")
            plt.xlabel("Tiempo ($t$)")
            plt.title("Dos frecuencias")
            plt.legend()

    frecuencias()

    #Display Ipywidgets
    from ipywidgets import interact
    interact(frecuencias, f1=(10.0,200.0), f2=(10.0,200.0))

    (2) Display HTML in Jupyter (link: Github)
    from IPython.display import HTML
    HTML('<iframe src="http://www.mambiente.munimadrid.es/sica/scripts/index.php" \
                width="700" height="400"></iframe>')
    (2.1) Loading data file .CSV and plot (link: Github)

    #Loading the data
    # ./data/barrio_del_pilar-20160322.csv
    data1 = np.genfromtxt('./data/barrio_del_pilar-20160322.csv', skip_header=3, delimiter=';', usecols=(2,3,4))
    #Print type of csv file
    !head -4 data/barrio_del_pilar-20160322.csv
    
    
    #Dealing with missing value
    np.mean(data1, axis=0)
    np.nanmean(data1, axis=0)
    # masking invalid data
    data1 = np.ma.masked_invalid(data1)
    np.mean(data1, axis=0)

    data2 = np.genfromtxt('./data/barrio_del_pilar-20151222.csv', skip_header=3, delimiter=';', usecols=(2,3,4))
    data2 = np.ma.masked_invalid(data2)
    #Plotting the data
    plt.plot(data1[:, 1], label='2016')
    plt.plot(data2[:, 1], label='2015')

    plt.legend()

    plt.hlines(200, 0, 200, linestyles='--')
    plt.ylim(0, 220)

    #Máxima diaria de las medias móviles octohorarias: 10 mg/m³
    # http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.convolve.html
    def moving_average(x, N=8):
        return np.convolve(x, np.ones(N)/N, mode='same')
    plt.plot(moving_average(data1[:, 0]), label='2016')

    plt.plot(moving_average(data2[:, 0]), label='2015')

    plt.hlines(10, 0, 250, linestyles='--')
    plt.ylim(0, 11)
    plt.legend()
    #Maximum/Minimum of array (Link)
    numpy.amax(a, axis=None, out=None, keepdims=<no value>, initial=<no value>)
    Arguments :
    • a : numpy array from which it needs to find the maximum value.
    • axis : It’s optional and if not provided then it will flattened the passed numpy array and returns the max value in it.
      • If it’s provided then it will return for array of max values along the axis i.e.
      • If axis=0 then it returns an array containing max value for each columns.
      • If axis=1 then it returns an array containing max value for each row.
    Example:
    # Get the maximum element from a Numpy array
    maxElement = numpy.amax(arr)
    print('Max element from Numpy Array : ', maxElement)

    # Get the indices of maximum element in numpy array
    result = numpy.where(arr == numpy.amax(arr))
    print('Returned tuple of arrays :', result)
    print('List of Indices of maximum element :', result[0])

    # Create a 2D Numpy array from list of lists
    arr2D = numpy.array([[11, 12, 13],
    [14, 15, 16],
    [17, 15, 11],
    [12, 14, 15]])
    #Some other sources in this file



    (3) Continue (link: Github)