近況?

PrePoMax

Salomeでunvファイルを作ったのをPrePoMaxで読み込んで、材料定数や境界条件を設定、CalculiXをソルバーとして解き、結果を表示。

Ubuntuへのインストール

wine環境のインストール

PrePoMaxはWindowsソフトなので、まずは、Linux上でWindowsを走らせるためのwineとその設定を簡単にするwinetricks をインストールし、 さらにその環境でNET Frameworkを使えるようにするために、dotnet48をインストールする。

$ sudo dpkg --add-architecture i386
$ sudo mkdir -pm755 /etc/apt/keyrings
$ sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
$ sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources
$ sudo apt update
$ sudo apt install --install-recommends winehq-devel
$ sudo apt install winetricks
$ sudo winetricks --self-update
$ winetricks dotnet48

PrePoMaxのインストール

Windows版(PrePoMaxOptiMax

PrePoMax(プリポスト付き)

OptiMax(最適化)

Windows版(CalculiXLauncher)

FreeCADでCalculiXをソルバーとして解析できる?

SalomeとCalculiXを連携できそうなCalculiXLaucher(要調査)

直交異方性材料

今まで通りのひずみ-応力関係の逆関係を入力する方法

*ELASTIC,TYPE=ORTHOROPIC [#nc477d23]
D1111,D1122,D2222,D1133,D2233,D3333,D1212,D1313
D2323

の他にも,Code_Asterと同様な入力方法↓もできるようになった.

*ELASTIC,TYPE=ENGINEERING CONSTANTS [#r0c7a606]
E1,E2,E3,nu12,nu13,nu23,G12,G13,
G23

umat

unvからinpへの変換

インストール

CalculiXは、バージョン1.8以降は実行ファイルを展開しただけでは走らなくなって、 SPOOLES.2.2やARPACKの導入も必要となり、インストールが難しくなってしまった。 恐らくインターフェースやプリ・ポストプロセッサーなどがGUIで使いやすいと 思われる DEXCS は、ADVENTUREを利用していて、今のところ動的解析などには対応していないようだが、 いずれ、 &link(CalculiXを導入して動的解析にも対応する方向性,http://dexcs.gifu-nct.ac.jp/pukiwiki/index.php?cmd=read&page=%A5%A2%A5%F3%A5%B1%A1%BC%A5%C8&word=calculix) みたいなので、様子を見たい。 CalculiXのrpm版もバージョン2.0以降のものも検索すればそれなりに見つかるが (64ビット版が主流で32ビット版は少ないので注意)、依存性が高く、 Vine等へのインストールは簡単ではない。 &link(CAElinux,http://caelinux.com/CMS/index.php)の64bit版が比較的最近のCalculixが プレインストールされてるようなので、64bitパソコンにCAElinuxをインストールして 計算サーバーとするか。

Ubuntu 16.04 LTS へのインストール

 Ubuntu16.04LTSを(近藤のPCに)インストールして、色々と試してみた。 Ubuntu16.04LTSの&link(公式パッケージ,http://packages.ubuntu.com/search?keywords=calculix&searchon=names&suite=xenial&section=all)を探してみるとccx_2.9が入っているようで、端末で次のように入力するとインストールできる。

CLOAD

LAST, 2, 6.6666666666666666E-002

LAST,  2,  2,  6.6666666666666666E-002

後藤ちゃちゃ(17/3/29)**はコメント文では?

CONTACT PAIR,INTERACTION=SI1,TYPE=NODE TO SURFACE

CAELinux

&link(CAElinux,http://caelinux.com/CMS/index.php)はUbuntuベースだが、 インストール後にアップグレードしたらccxも最新版の2.3にアップグレードされた。 これはいいかもしれない。 Ubuntuのクライアント版はサーバー系ツールのセットアップがちょっと めんどくさいような気がしていたが、CAELinuxにはsshdがプリインストールされていて、proftpdも簡単にインストールできる。 サービス管理(system-config-services)は、synapticの一覧にはないようだけど、 なんか他のツールがあるのかな。

コンクリート

 コンクリートのように圧縮のみに抵抗する材料も扱える。

MATERIAL,NAME=COMPRESSION_ONLY

USER MATERIAL,CONSTANTS=2

 14.e3,        1.e3

面の定義

マニュアル(ccx_2.6.1.pdf)のp.367に要素ごとの面番号の定義が書かれている。よく使うC3D8とかは、

SURFACE,NAME=men

1,S6
2,S6
3,S6
4,S6

ヒンジ

立体要素と板要素を組み合わせる場合

CAELinuxの場合、/opt/CalculiX_2.6.1/ccx_2.6.1.pdfがマニュアル。 ここのp.96によると、「立体要素と板要素」あるいは「立体要素と梁要素」の組み合わせでは、初期状態でその境目がヒンジになる。 以下、その例題(/opt/CalculiX_2.6.1/ccx_2.6.1/test にある)

多点拘束を用いる場合

立体要素だけ

 特別なことをしなくても、立体要素同士を線状に接点共有させるだけでヒンジになる。ただし、ただの線形解析だと回転した要素が膨らんでしまうので、幾何学非線形解析にすることが必須。勿論、強制変位でないと計算できない。  この方法なら、折り畳み円筒を一定厚にし、かつ蝶番を再現するというモデリングが楽にできるのでは?

梁の場合のヒンジ節点

ccx_2.5

ざっといじっていてわかったこと(変更点?)を箇条書きで

&link(daiya6h.dat,http://www.str.ce.akita-u.ac.jp/~gotouhan/emura/test/daiya6h.dat)

&link(daiya6h23.dat,http://www.str.ce.akita-u.ac.jp/~gotouhan/emura/test/daiya6h23.dat)

2.5

2.3

のようになっていて、これは&link(マニュアル(the documemtation),http://www.dhondt.de/)のFigure 63と同じ節点の振り方。

ccx_2.6.1をCAELinux2011で実行できるように(まだできない)

CalculiXの作者guido dhondtさんに問い合わせたところ、外向き法線シェル要素で1.7では 解けるものが2.3では解けない問題は、2.6では解決されているということなので、 ccx_2.6.1を使うのがよさそうだ。 ccx_2.6.1のa Linux executable(ccx_2.6.1.tar.bz2)を適当なところにダウンロードして

1.7と2.3の比較

マニュアル

ccxのマニュアル(日本語版)を見つけたので、ここに載せました。(英語版はver.2.20 日本語版はver.2.10なので、多少の違いはあるかもしれません。)(千代岡)
日本語版
英語版

inpファイルの書き方

サンプルファイル

コメント

こんなふうに ** を最初に書くとコメントが書ける

つまり ** の行はデータ入力の際に無視される

要素の節点番号

inpファイルで、まず各節点と節点座標を定義してから、 各要素ごとに要素番号とその要素の各節点の節点番号を設定していくが、 要素の種類ごとに1要素の節点番号の並べ順には決まりがあるので、 マニュアルやサンプルの節点番号の振り方を参照すること。 例えば、8節点シェル要素(S8)では、頂点の節点番号を4つ並べてから、 辺中点の節点番号を4つ並べなければならないとか。 これを間違うと、変な形になる。

拘束条件

複数の節点にまとめて同じ拘束条件を与える場合

NSET,NSET=FIX

ここに拘束したい節点番号とコンマを1行ずつ並べる

例えば拘束節点が1と2だったら

    1,
    2,

みたいに

BOUNDARY

以下のFIX,に続けて拘束変位1=x,2=y,3=zをコンマ区切りで

FIX,1,3

1から3(xからz)を拘束

BOUNDARY

FIX,1 FIX,2 FIX,3

1節点ずつ拘束条件を与える場合

BOUNDARY

 1, 3, 0.
 2, 1, 3, 0.

節点番号1の3(z)を拘束

節点番号2の1から3(xからz)を拘束

材料定数

MATERIAL,NAME=EL

ELASTIC

以下にヤング率(MPa)とポアソン比

 210000.,  0.300000012

載荷条件

複数の節点にまとめて同じ荷重条件を与える場合

NSET,NSET=SAIKA

ここに載荷したい節点番号とコンマを1行ずつ並べる

例えば載荷節点が3と4だったら

    3,
    4,

みたいに

STEP

STATIC,SOLVER=SPOOLES

CLOAD

以下のSAIKAに続けて載荷方向、載荷荷重を書く

例えば載荷方向が3=zで、載荷荷重が1/載荷節点数なら

SAIKA,3,  0.5

1節点ずつ荷重条件を与える場合

CLOAD

 1, 2, 10.
 2, 3, 20.

節点番号1の2(y)方向に10MN載荷

節点番号2の3(z)方向に20MN載荷

ひずみについて

inpファイルで最後の方に、

EL FILE,POSITION=AVERAGED AT NODES

S,E,PE

座屈解析

datファイル内の座屈荷重の読み方

inpのCLOADと、datの座屈荷重との関係

いつもは、CLOADで(1/載荷節点数)と入力したものを、座屈荷重とみなしている。

もし10/載荷節点数とかにしたら、座屈荷重はどう変わるのか見てみた↓。

CLOAD0.001/n0.01/n0.1/n1/n10/n100/n
理論値との誤差座屈せず3%3%3%3%座屈せず

n:載荷節点数

10/nの座屈荷重は、1/nの座屈荷重の0.1倍になる。0.1/nにすれば10倍、0.01/nにすれば100倍の座屈荷重になる。

だから、inpのCLOADで0.1/nで入力したら、datファイルの座屈荷重に0.1かければよい、みたい

ただ、サイズによって座屈が出ない問題も、(相似形状で10倍とかしなくても) ACCURACYのところを0.01ではなく、0.1とか1とかにすれば解けるようになるようだ。

モード図の描かせ方など

cgxのアニメ機能を利用する場合

倍率を調整して手動で変形モードを加算したfrdファイルがほしい場合(変形図上に応力等を色スケールで表示させたい場合)

&link(tasu.f系のプログラム,http://www.str.ce.akita-u.ac.jp/~gotou/programoj/#tasu)で、どうやればちゃんと描けるか、ここに書いておく。

ダイヤカットをやったシェル要素では、ccx_1.7*tasudatw.fではうまくいかなくて、 ccx_1.5+tasu.fの昔のやり方でモード図を描いていたというような事情はないか? 確認してほしい。

円筒ダイヤカットも伸縮できる円筒折り紙も、圧縮でも引っ張りでも局部座屈を 起こせていたが、これはバージョンに依存するか? 例えば、ccx_1.5では座屈するが、 ccx_1.7では、no convergence.....maybe no buckling occurs のエラーが出るといった 事情があるかどうか確認。

l=1,m=16,n=2

半径(m)高さ(cm)ヤング率ポアソン比厚さ[m]座屈モード精度載荷荷重[MN]
1.d0/2.d0/pi50700000.3000000120.1120.060.149253731

バージョン比較

バージョンによって答えが違った例をここに書き込む。

ウェブ上の情報など

cgxでinpファイルをみる。

cgxで変形図やモード図を描かせる

&link(ここ,http://www.str.ce.akita-u.ac.jp/~gotou/programoj/#tasu)の &link(tasu.f,http://www.str.ce.akita-u.ac.jp/~gotou/programoj/ccx/tasu.f)を 使ってデータを整形する。具体的な方法はプログラムの中に書いてある。

CADとの連携

cgxをプリプロセッサーとして使う

いや&link(blenderのメッシュ情報,http://www.str.ce.akita-u.ac.jp/cgi-bin/gwiki/wiki.cgi?blender%a5%e1%a5%e2#i3)は使えそうかも

blender

CalculiXのモデリングに使える??

各種フォーマット

ccxのインストール簡単マニュアル(linux)

ccx_2.6

ccx_2.3

ccx_1.8以降のコンパイルはうまくいっていないが、SPOOLES.2.2とARPACKのコンパイルまでは、なんとかできるのでメモ。

SPOOLESのインストール

ccxのサイト経由で、 spooles.2.2.tgzをダウンロードして、 /usr/local/SPOOLES.2.2を作成してからそこにコピーして展開。 (アーカイブファイルがディレクトリ内に納めてから圧縮されているか、 ばらばらのファイルのまま圧縮されているかは、ファイルブラウザーなどで確認できる。) /usr/local/SPOOLES.2.2/内にファイルが展開される。 Make.inc内の

ARPACKのインストール

ccxのサイト経由で、 arpack96.tar.gzとpatch.tar.gzをダウンロードして、/usr/localに移動し、 tar xvzfで展開すると、/usr/local/ARPACK(が生成されてその中)に展開される。 /usr/local/ARPACKの中に入って、ARmake.inc内の以下の箇所を修正。

ccx_1.8

ccx_1.8のバイナリーは、Vine LinuxでもUbuntuでも動かない。

ccx_1.7以前

次にターミナルを開いて、保存したところにcdで移動し(home/suzukiに保存していれば、移動しなくて良い)、 suになる。[suzuki@bri00]\( $ \)が[root@bri00」#に変わったのを確認したら、

サンプルをインストールしたい場合には、test examples(ファイル名はccx_1.6.test.tar.bz2)、ソースはthe source code(ccx_1.6.src.tar.bz2)、 マニュアルはthe documentationの中から、TeX、html、postscriptの中から好きなものを選びクリックし、適当なところに保存する。手順は上と同じだけど、ファイル移動はしなくて良いから、bunzip2のところまですれば良い。

マニュアルはTeXとhtmlの二つをダウンロードしたほうが良い。 TeXをダウンロードする利点は、印刷がきれいにできる 、ファイルが一つだけだから、 viで文中のキーワードが簡単に検索できるということが挙げられる。 htmlの利点は言うまでも無く、インターネットと同じ環境で見ることができる。 この場合、ブラウザのファイル→開くで/usr/local/Calculix/ccx_1.6/docに移動し、 その中のccx.htmを開き、ブックマークしておくのがいいだろう。 ちなみにhtmという拡張子がついていれば、どれをブックマークしても、 全てのページでcontentsにリンクされているからそれほど問題ではない。

cgxのインストール簡単マニュアル(linux)

無事表示されたら、 &link(CalculiXのダウンロードのページ,http://www.dhondt.de/)の Available downloads for the graphical interface (CalculiX Graphix: cgx)のところにあるa linux executableをクリックすると、ダウンロードウィンドウが開くので、 このファイルをディスクの保存するを選び、自分のユーザーディレクトリの中の適当なところ(例えばユーザー名がsuzukiだったら/home/suzukiの下のどこか)に一時的に保存する。ちなみに保存されるファイルの名前はcgx_1.6.bz2であることに注意しよう。

次にターミナルを開いて、保存したところにcdで移動し(home/suzukiに保存していれば、移動しなくて良い)、 suになる。[suzuki@bri00]$が[root@bri00」#に変わったのを確認したら、

cgxのwindowのHelpから、マニュアルを見ることができるようにするためには、 ダウンロードページのthe documentation (html) (ファイル名はcgx_1.6.htm.tar.bz2)を実行ファイルと同じ手順でダウンロードする。

そしてsuになって

http://www.str.ce.akita-u.ac.jp/~chida/oonuma/cgx1.png

もしccxのhtmlマニュアルが先にインストールされているのであれば、 Html Manual(ccx)も見ることができる。

サンプルをインストールしたい場合は、ダウンロードページの examples(ファイル名cgx_1.6.exa.tar.bz2 )をダウンロードすれば良く、 その後はhtmlのマニュアルのインストール方法と同じである (cgx_1.6.htm.tar.bz2のhtmをexaに変えるだけ)。

inpファイル

節点番号の振り方

任意断面の見方

以下は古い話。

増分ステップの制御など

ccxでは、最終荷重を与えて計算すると、そこに至る数ステップぶんの点の結果しか出力されない。 荷重増分を小さくして、もっと細かくプロットを取りたい時にどう制御すればいいのかが分からない。

出力ステップの制御

"*TIME POINTS"を使うと、好きなステップで出力することができる。例えば、

TIME POINTS,NAME=T1

0.0,0.2,0.4,0.6,0.8,1.0

(途中で色々書かれていて......)

NODE PRINT,NSET=Nall,TIMEPOINTS=T1

U

EL PRINT,ELSET=Eall,TIMEPOINTS=T1

S

NODE FILE,TIMEPOINTS=T1

U

EL FILE,TIMEPOINTS=T1

S

END STEP

pathを追加する

cgxをインストールして初めて/usr/local/binができた場合、ccx・cgxはパスを指定しないと 起動しない事がある。よって、

後藤メモ

g2は私がパスを切ってたってことでは。

学生がパスを切るって分からないと思い簡単に書いたのですが。 fパソのように誰もパスを切ってないのに切れてる場合もありますし、 念のため(千田)

エラー

ccx1.7で解けた円筒の圧縮がccx2.3で解けない

円筒やダイヤカット円筒の一端を固定して一端を圧縮(または引張)すると、 ccx1.7では問題なく解けているが、同じinpファイルをccx2.3で解くと、 載荷端側が花びらのように半径方向に互い違いに変位するモードが現れる。

ccx2.3にバージョンアップして増えたオプションをちゃんと設定しないと 解けないということかも知れない。ウォーニングメッセージとccx2.3のマニュアルとを ちゃんと確認する必要あり。

ubuntu10.04上でccx1.7を走らせると

というような訳で、ccx1.7のバイナリーをubuntu10.04上で走らせようとすると、

nonpositive jacobian

Factoring the system of equations using spooles ALLOCATE failure : bytes 109180512, line 517, file DV.c

C3D8の直方体片持ち梁で、ポアソン比を0.5に設定するとエラーがでる。 ポアソン比0.49999と0.50001ではエラーは出なかった。

シェル要素による片持ち梁のたわみ解析結果


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-07-25 (火) 12:48:44