GithubHelp home page GithubHelp logo

batmanabcdefg / topology-optimization-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ghislainraze/topology-optimization

0.0 0.0 0.0 159 KB

Topology optimization based on the Moving Node Approach using EFG or FEM methods.

MATLAB 100.00%

topology-optimization-1's Introduction

Topology-Optimization

Topology optimization based on the Moving Node Algorithm using EFG, FEM or IIEFG methods.

Introduction

This set of Matlab files are used for topology optimization using the Moving Node Approach (MNA) for 2D plane strain problems. In this approach, the material distribution is decoupled from the discretization.

Material distribution

The material distribution is used to specify where the material is. It is based on mass nodes. The density at one point can be computed thanks to a kernel approximation using cubic spline shape functions.

Some corrections are added in order to avoid numerical problems.

Discretization

The governing linear elasticity equations have to be discretized to solve numerically the problem. The discretization methods can be :

  • A meshless method called Element-Free Galerkin (EFG)
  • A Finite Element Method (FEM)

Code structure

Main file

The main file topologyOptimization.m is a Matlab script that launches the optimizers. The user can change the script to set

  • The discretization method (EFG or FEM)
  • The optimization variables (mass nodes, undeformable structural members or deformable structural members)
  • The optimization algorithm

Problem constants

The problem constants are defined in the Constants\ directory. This includes

  • Problem geometry
  • Boundary conditions
  • Material distribution constants

Discretization

The discretization methods use functions from the Discretization\, EFG\ and FEM\ directories.

The files InitEFGMesh.m and InitFEMMesh.m contain the discretization constants. This includes

  • Number of nodes or element per dimension
  • Shape functions degree
  • Number of Gauss points per cell/element
  • Relative smoothing length (EFG)

The other files of these directories should not be modified directly by the user.

Optimization

The optimizers as well as some useful functions are placed in the Optimization\ directory. Depending on the algorithm, some specific constants can be found in this directory files.

topology-optimization-1's People

Contributors

ghislainraze avatar

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.