Skip to content

Instantly share code, notes, and snippets.

View tonosaman's full-sized avatar

Optional Exit of T.Ono tonosaman

View GitHub Profile
@tonosaman
tonosaman / README.md
Last active March 9, 2017 05:06
Howto pick max VON MISES from NASTRAN output(.f06)
$ cat q20170302-solid-shear.f06 | awk '
NR == 1, /S T R E S S E S   I N   H E X A H E D R O N   S O L I D   E L E M E N T S   \( H E X A \)/ { next }
BEGIN { print "VON MISES,GRID-ID,ELEMENT-ID" }
{ _eid = substr($0, 4, 8); _vm = substr($0, 114, 16) }
_eid ~ /^ *[0-9]+$/ { eid = _eid }
_vm ~ /^ *[0-9.E+-]+$/ { nid = substr($0, 16, 8); printf "%f,%d,%d\n", _vm, nid, eid }' | sort -nr | head -20
  • GRID-ID=0 means CENTER of ELEMENT
@tonosaman
tonosaman / README.md
Last active March 2, 2017 07:35
Femap BASIC Script: exports all AnalysisSet as .nas file

カスタムツールへ登録して使用する方法

C:\FEMAPv1031J\api\にディレクトリを作成し、マクロファイルexport-Nastran-AnalysisSet.basを配置する。

(「カスタムツール>追加」で.basファイルを指定すると、Femapにより上記ディレクトリ配下にコピーされる。)

APIプログラムの編集方法

  1. Femapメニューより「ツール>プログラミング>APIプログラミング」を選択
  2. APIプログラミングウィンドウの上部の「開く」アイコンをクリック
  3. マクロファイルexport-Nastran-AnalysisSet.basを読込
  4. APIプログラミングウィンドウ上部の「実行」アイコンをクリック
@tonosaman
tonosaman / PathRenum.fs
Created February 9, 2017 23:40
Femap: sequentially numbering linear nodes and elements
module PathRenum
type FemapId = int
type ElemId = FemapId
type NodeId = FemapId
type NodeToElems = System.Collections.Generic.Dictionary<NodeId ref, List<ElemId ref>>
type ElemToNodes = System.Collections.Generic.Dictionary<ElemId ref, NodeId ref * NodeId ref>
// To import `femap.model`, we need to edit `.fsproj` by hand.
// @see F# Known Issue - 3. Cannot add a reference to a project in a Solution folder
@tonosaman
tonosaman / README.md
Last active February 26, 2017 10:03
RPi3 aarch64 u-boot with jtag

u-boot with jtag enabler

based on ports/sysutils/u-boot-rpi3/@FreeBSD11.0-RELEASE-p1

diff --git a/arch/arm/cpu/armv8/start.S b/arch/arm/cpu/armv8/start.S
index 19c771d..26e2266 100644
--- a/arch/arm/cpu/armv8/start.S
+++ b/arch/arm/cpu/armv8/start.S
@@ -57,6 +57,7 @@ reset:
@tonosaman
tonosaman / README.md
Last active November 12, 2016 08:46
NetBSD7.0でLLVM-3.9 をビルドしたい人の備忘録(3)

NetBSD7.0でLLVM-3.9 をビルドしたい人の備忘録(3): _LIBCPP_HAS_ATOMIC_BUILTINS

ビルドした Clang for AArch64 target の atomicity を確認

LLVM Atomic Instructions and Concurrency Guide

/vagrant/freebsd/lib/libc++/../../contrib/libc++/src/include/atomic_support.h にて targetがアトミック性をサポートしているならば_LIBCPP_HAS_ATOMIC_BUILTINS が有効になる。

@tonosaman
tonosaman / MDIX-setting.md
Created October 24, 2016 06:37
ストレートEtherケーブル直結構成(with MDI-X)の備忘録

Howto PC-to-PC direct connect with strait ether-cable.

MDI-X: HUB不要でストレート直結可能

片方でもNICがMDI-XをサポートしていればストレートEtherケーブルを繋いで通信可能。

+-----+  ether cable +--------+
| p70 |--------------| sh76en |
+-----+              +--------+
@tonosaman
tonosaman / README.md
Last active October 22, 2016 09:56
NetBSD7.0.1 で LLVM-3.9 をビルドしたい人の備忘録(2)

NetBSD7.0でLLVM-3.9 をビルドしたい人の備忘録(2)

1GBだとメモリ足りなくてOOMキラーにわからん殺しされるので4GBにした話

仮想マシン(vagrant)にビルド環境を作ってやっているのですが、 ホストのソースツリーをNFSマウントしてビルドしてるとそこでもメモリを喰われますよね。 一旦ゲストを立ち上げ直して、続きからビルドしたらあっさり通ったりします。

症状: LLVMPassesをビルドしようとしてcc1plus内部エラー

@tonosaman
tonosaman / README.md
Last active October 22, 2016 08:10
NetBSD7.0.1 で LLVM-3.9 をビルドしたい人の備忘録(1)

NetBSD7.0でLLVM-3.9をビルドしたい人の備忘録(1)

  • クロス開発環境はNetBSDが好き(個人的な意見です)
  • NetBSDは自前のビルドシステム上で LLVM-3.6 をビルドするMakefileが用意されている(古い)
    • LLVMがCMake使うようになってメンテが大変なのかしら?
  • FreeBSDはカーネルもLLVMでビルドしてるだけあって、LLVM-3.8をサポート(いいなー)
  • yacto とか crochet もいいんだけど、今回は見送り

動的リンク時にて$ORIGINが参照されないようにする

# BCM2837 Raspberry Pi 3 Target
tcl_port 5555
telnet_port 4444
gdb_port 3333
transport select jtag
adapter_khz 1000

(Ruby)Procオブジェクト: メソッドを第一級オブジェクトとして扱う

  • Procオブジェクトの作り方いろいろ

    > def hoge(a, b); a + b;  end
    > p = method(:hoge).to_proc
    > p = Proc.new { |a, b| a + b } 
    > p = lambda { |a, b| a + b }
    > p = proc { |a, b| a + b }
    > p = ->(a, b) { a + b }