Coder Social home page Coder Social logo

fem_structure's Introduction

構造解析+トポロジー最適化

概要

  • FEMによる構造解析とトポロジー最適化をC++で実装
  • Eigenによる疎行列を使用[1]
  • Spectraによる一般化固有値問題ソルバーを使用[2]
  • OpenMPによる並列化(要素のマルチカラー化[3]を使用)

解析種類

  • 線形静解析
  • 線形座屈解析
  • 固有値解析
  • トポロジー最適化
  • 非線形解析(予定)

要素形状

  • 2次元:1次四辺形要素
  • 3次元:1次四面体要素(予定)、2次四面体要素(予定)

構成

.
├── bin         ... Binary Files
├── data-input  ... Input Data Files
├── data-output ... Output Data Files (.vtk files)
├── examples    ... Example Input Files
├── include     ... Header Files
├── src         ... Sorce Files
└── src-tools   ... Tools

入力ファイル

  • 節点ファイル: data-input/node.dat
  • 要素ファイル: data-input/elem.dat
  • 境界条件ファイル: data-input/bc.dat
  • 解析設定ファイル: data-input/sim.prm
  • トポロジー最適化設定ファイル:data-input/top.prm

準備

  • Eigenをダウンロードし、Eigenという名前のフォルダをinclude直下にコピーする
  • Spectraをダウンロードし、Spectraという名前のフォルダをinclude直下にコピーする

コンパイル

# OpenMPを使用しない場合
$ make
# OpenMPを使用する場合
$ make FLAGS=OPENMP
$ export OMP_NUM_THREADS=<num threads>

実行

$ ./bin/fem

参考文献

  1. Eigen, https://eigen.tuxfamily.org/index.php?title=Main_Page
  2. Spectra, https://spectralib.org/
  3. 有限要素計算における全体剛性行列の作成法― 疎行列データ構造の視点から ―, 永井学志, 橋本一輝, https://www.jsces.org/activity/journal/files/tutorial_1904.pdf

fem_structure's People

Contributors

kwkm0429 avatar

Watchers

James Cloos avatar  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.