Coder Social home page Coder Social logo

jacojvr / fem-teaching-material Goto Github PK

View Code? Open in Web Editor NEW

This project forked from samuelvelez8383/fem-teaching-material

1.0 2.0 1.0 7.74 MB

Introductory Course on Finite Element Method

TeX 0.04% Jupyter Notebook 99.33% Python 0.45% GLSL 0.05% CSS 0.12%

fem-teaching-material's Introduction

Introduction to the Finite Element Method

Displacement field in a wrench.

Introduction.

This REPO contains teaching resources for an introductory course on Finite Element Analysis. The course in its present form is intended for last year undergraduate students enrolled in the Mechanical Engineering and Civil Engineering programs at Universidad EAFIT and for first semester graduate students enrolled in the MsC and PhD programs in the Applied Mechanics track. The course emphasizes on the solution, trhough finite element algorithms, of the theory of elasticity boundary value problem. It combines theoretical aspects and computational implementations in Python. The material for this introductory course has been typically covered in an 18-weeks semester with 2 hours long weekly meetings. The course is divided in three parts. It starts by covering standard numerical methods such as interpolation theory and numerical quadratures which are numerical tools required in the formulation of finite element algorithms. The course continues with a review of the problem of theory of elsticity, and particularly its formulation in the form of a boundary value problem stated in terms of the Principle of Virtual Work. The third and final part uses the covered numerical techniques to generate a finite element representation of the virtual work principle.

Flipped class approach.

The course has been designed to be imparted in a Flipped classroom environment where most of the theoretical contents are covered by the student through independent study complemented with brief homework assignements. On the other hand, the 2-hour class session is dedicated to the solution of hands-on computational and theoretical problems under the instructor guidance. For the development of the methodological approach of inverted class the following resources are available in this REPO:

  • Lecture notes: A recopilation of theoretical material covered in several textbooks combined with independent developments by the Applied Mechanics Group and organized to facilitate independent study.

  • Notebooks: A series of Jupyter Notebooks summarizing the theoretical discussion (treated in more detail in the lecture notes) combined with computer implementations in Python. The notebooks contain brief activities intended for self-learning and several, more demanding in-class activities to be developed under the instructor's guidance.

  • SolidsPy: A Python based finite element code for the stress analysis of arbitrary two-dimensional domains. The code, which has been developed as part of this course by the Applied Mechanics Group, is structured to be used as a stand-alone application or through the combintation of independent subroutines. The subroutines used in the different notebooks follow the same structure of those in the code. The code is available in the Applied Mechanics Repo https://github.com/AppliedMechanics-EAFIT/SolidsPy.

Contents.

The course contents are those described by the following set of notebooks. NB-0 covers the basics of Notebooks and provides examples of basic programming skills in Python. NB-1 through NB-5 presents standard interpolation and numerical integration techniques but within the context of the finite element method. In particular, NB-4 applies an intial definition of a finite element to a problem of visualization of functions over two-dimensonal domains. The formulation of the finite element method to the elasticity problem is strictly defined in NB-8 and following.

NB-0: Introductory Notebook

NB-0a: A simple finite element code

NB-1: One-dimensional Lagrange interpolation-Principles

NB-2: One-dimensional Lagrange interpolation-Local scheme

NB-3: Two-dimensional Lagrange interpolation

NB-4: Application. Visualization of a solution in a complete domain

NB-5: Numerical integration in the Finite Element Method

NB-6: Computation of the stiffness matrix

NB-7: The linearized theory of elasticity

NB-8: Finite element formulation of the elasticity BVP

NB-9: Assembly of the FEM equlibrium equations

NB-10: Solution and post-processing

NB-11: Convergency of the analysis results

NB-12: Finite element analysis with SolidsPy

fem-teaching-material's People

Contributors

jgomezc1 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

pdhhiep

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.