鈍ということ

以前,京大先生図鑑の取材で自分を漢字一文字で例えると,という質問があり,「鈍」と答えました.「鈍」は確かに負の語感を持ちますが,不確定性の高い社会を生き抜く知恵だと思っているんですよね.「複雑系の科学」ではなく「鈍感系の科学」を模索しています.研究でも,鈍構造という技術開発を進めています.「鈍」という単語は負の印象が強いが故に,この言葉が持つ強さを逆手に取って,関心を引きたい気もあります.
鈍感は英語でinsensitiveとも言いますが,接頭辞in-は否定なので,本来,insensitiveの和訳は不感のはずです.鈍感と不感の決定的な違いは,鈍感は「反応している」ということ.動的システムの性質なのです.辞書では出てきませんが,(良い意味の)鈍感の英訳はsemi-sensitiveがよいと思ってます.接頭辞semi-は半分,中間を意味します.semiconductorは半導体.導体と絶縁体の中間の性質をもつ物質で,我々の世界を大きく変えてくれました.敏感と不感の中間の性質をもつ鈍感(semisensitive)を共感できる人が増えることが,善き社会の構築につながると信じています.

また,ある系が外乱の影響によって変化することを阻止する仕組み,または性質のことをロバストネスといいます.これを和訳すると,かつては頑健性が多く使われていましたが,しっくりこないと思う人が多い(私も)のか,最近はロバスト性やロバストネスとカタカナで使われることが多い.でも,日本語にできないと,真の意味で理解・納得したといえないと思っているんですよね.みんな悩んでいるのです
ソニーコンピュータサイエンス研究所の北野宏明氏は,生命システムのもつロバストネスに着目していますが,サイエンスライター竹内薫氏との共著「したたかな生命」という一般書(いい本です)では,ロバストネスを「したたかさ」と訳しています(文中ではロバストネスのみ使ってますが).でも,私は「したたか」より「鈍感性」の方がシステムの意味を表しているのでより良いと思ってるんですよね.研究発表でも「ロバストネス(鈍感性)」とアピールしています.

用強美

田邊朔郎の「とんねる」を読んでいると、洞門は「あまり飾はいらないが場所によっては相当に立派にしたものもある」とある。特に運河トンネルでは半分以下が水没し、そのままでは見える部分の形がバランス悪くなるので、入口の少しをトンネルの高さを高くするところもある、という。


3月中旬まで、琵琶湖第一疏水は浚渫のため停水中ですが、おかげで光が抜けやすく、第二トンネル東口から入口少し背が高くなっているのが分かりやすい。今の姿が美しいのではなく、運河に水が流れた状態で最もバランス良く設計されているのです。これぞ用強美が兼ね備えられた事例です。


第三トンネル東口洞門は「とんねる」にも掲載されていました。停水状態の今の写真と比較すると、田邊朔郎が意図した用強美がよく分かります。

Open Fresco使用再開に向けて

2003-4年にアメリカUC Berkeleyに留学した一番の成果は、OpenSeesと実験機器を融合させたハイブリッド実験を行うシステムを開発したことでした。オブジェクト指向で構造実験を分析し、実装。留学先のFenves先生と一緒に、OpenFresco (Open software FRamework for Experimantal Setup and COntrol)と名付けました。有難いことに、今でもUC Berkeleyから公開してくれています。これを研究でも使用再開しようと思い、そのためにまずOpenSeesのビルドから再開したのです。

さて、実験機器をコンピュータでコントロールするにはドライバが必要で、当時その多くはMS Windows用しかありませんでした。当時はメインはLinuxだったので流儀がわからず閉口しましたが、時間もあったのでコーディングできましたが、さて、再開しようとすると、随分と状況が変わっています。オリジナルはWindows XPでしたが、その後Windows 7時代までは使ってました。ただ、OSも64ビット化する中で、実験機器用ドライバは32ビット版しかなかったので、OSを32ビット版を使うことで解決していました。ただ今再開するにあたり、今更32ビットは…ということで調べてみると、National InstrumentsのUSB接続のDAQボードを制御するドライバNIDAQmxは64ビット版もありました。これを使うことにします。インストールはOK、ドライバ付属のテストパネルでは電圧の入出力もOK。さて、これをC++のプログラムで制御したいのです。

さて、ANSI Cのサンプルコードも付いていたのでVisual Studio 2019でプロジェクトファイルを開くと、サンプルが古くてソリューションファイルに変換失敗とでる。そのままコンパイルすると、何かのフラグがバッティングしているだけそうだったので、必要ないフラグを外して再コンパイル。あっさり実行ファイルができました。ラッキーと、プログラムを走らせても、何も電圧が出力されていません。32ビットのライブラリがリンクされているかと思い、確認するとビンゴ。64ビットのライブラリへリンク先を変更し、再コンパイルすると、今度は多くのリンクエラーが。なぜ??原因は、Visual Studioのソリューションファイルのターゲットがx86となっていたので、とりあえずx64を新規作成。実は何が変わったか分かりませんが、これでリンクエラーも出ず、実行ファイルができました。めでたし、めでたし。実行すると、やっぱり電圧が出力されない…でもエラーも発生していないので、DAQボードとは通信しているみたいだけど…

困ってネットで情報検索.すると,C言語でNIDAQmxライブラリを用いている事例は(オフィシャルも含め)ほぼ10年前までのものばかり.National Instrumentsでも,LabViewを押しているし,MATLABでもNIの機器を使えるので,最近はC言語で制御したいニーズがないんだろうな,と諦め,サンプルソースコードに向き合う(本来,まずはこれからすべき).すると,Sampling Clock Timingを取得するデバイス名が違う,という初歩的なミスでした.恥ずかしいので,自戒を込めてここに晒しておきます.これを修正し,無事,電圧出力できました.次はOpenFrescoのビルドだな.OpenSSLなどの通信も含むので,これまた大仕事.時間みつけられるかな.

 

 

戦時中の橋梁研究

ここ数年調べていた第二次世界大戦下の橋梁開発研究が土木学会論文集D2(土木史)に掲載されました。

詳細は論文を参照いただくとして、ここでは調べるきっかけをメモしておきます。設計想定と異なる作用(この場合、空爆)を踏まえた新しい橋梁形式開発が検討されていたことを、(趣味の)戦前からの雑誌「道路」を読んでいた時に見つけました。それは田中豊による論文。田中豊というと、関東大震災からの復興橋梁(永代橋など)を担当し、その後、東大土木の橋梁研教授として活躍された権威であり、現在もその名は、我が国の橋梁に関する最高の賞と認められている土木学会田中賞として残っています。その田中豊が空爆による橋梁の命中率や、その対策について議論していることを、(当時の世相を考えると当たり前ですが)知らなかったことがきっかけです。東大橋梁研を継承された伊藤学先生、藤野陽三先生に尋ねましたが、田中先生がそのような研究をされていたことはご存知ないとのことでした。明治以降、国を豊かにする基盤を整備してきた土木を教えているのに、昭和のことを知らないのは恥ずかしい。それが調べはじめた動機です。しかも想定と異なる作用、というと地震も同じような状況ですから、橋梁耐震の研究にもつながると思ったので。

調べるうちに、田中豊を離れ、京都帝大の高橋逸夫、北海道帝大の鷹部屋福平、九州帝大の三瀬幸三郎と当時の橋梁の権威がみな関わっていたこと。そして、そういう困難な状況にあっても「橋梁美」を常に語っていたことを知ったことは、耐震が構造を醜くしていると呟いている私にとって、大きな力となっています。

ただ、学者が色々と研究しても、実際の社会で実現するのは技術者です。この研究の主役は、朝鮮総督府鉄道局の技術者であり、小田技師がその中核でした。第二次世界大戦の敗戦国である日本では、戦時中の情報の多くは破棄され、それを調べることすら難しいのに、その上朝鮮半島、しかも北朝鮮で多く建設された橋梁の研究の情報はほとんど残っていません。そんな中、藁をもすがる思いで尋ねたのが田邊(朔郎)家でした。田邊朔郎は京都帝大の大看板ですが、記録魔であり、多くの資料が残されています。ただ、調べたいのは朔郎ではなく、その息子の多聞です。文官でしたが、終戦時、朝鮮総督府鉄道局(交通局)釜山局長の地位にあり、関連して何か残っていないかと思ったのです。直接の情報はなかったものの、鉄道局同窓会誌などのプライベートの情報で多くのことを知ることができました。

様々な情報を紡ぎ、考証し、見過ごされていた貴重な技術研究を何とかまとめられたと思います。

OpenSees用の自作ライブラリの組み込み

OpenSeesそのものはC++言語でコーディングされていますが、Tcl言語をインタープリタとして拡張しているので、入力ファイルがプログラムとなっており、柔軟な解析を行うことができます。ただ、新しい材料モデルなどを組み込むにはOpenSees本体に組み込み、再ビルドする必要がありました(2003年当時)。なので、OpenSeesのメンテナであるFrankにとっては、得体の知れない人のライブラリを組み込むフラストレーションもあったのでしょう(彼の口癖は、You can do it.でした)、Packageという動的組み込み法を導入しました。WindowsならDLLですね。OpenSeesの実行ファイルと自作ライブラリのDLLを一緒に置いておくと、必要な時にロードされ、組み込むことができるようになりました。これは自作ライブラリを作る人にもメリットがあって、OpenSees本体をビルドする必要が無いのです。

さて、WindowsにOpenSeesビルド環境が整ったので、昔作った武田モデル(鉄筋コンクリート部材の履歴といえば世界的にもこれでした)のDLLを再ビルドしてみたのですが、動的ロードされません…ググってみると、64bit版を作るには、ちょっと手を加えないとダメなんですね。今まで32bit版しか作ったことが無かったので気づきませんでした。

で、再ビルドしてOpenSeesTkで動作確認。ちゃんとアルゴリズムも問題なさそうですね。

OpenSeesのビルド

2003年にUC Berkeleyに留学した際,構造解析ソフトウェアフレームワークのOpenSeesを開発していたG.L. Fenves先生のグループに加わりました.これを用いた分散ハイブリッド実験を行うために,OpenSeesと協働して実験を行うためのフレームワークOpenFrescoを開発しました.その際,散々ソースコードを読んだので,OpenSeesは今でも便利に研究に使っています.WindowsやMac OS Xの実行形式バイナリをダウンロードするだけなら簡単ですが,中身をいじくろうと思うと,ソースコードからビルドする必要があります.で,それが簡単ではない(コツを知っているとなんとかできる).なので,昔から使っているコードを改変しながら使っていたんだけど,いつかは最新版に置き換えないとな,と思っていました.特に,version 3.0.3からTclをメジャーバージョン8.5から8.6に変えていたことから,付け焼き刃の対処には無理がでてきたので.

OpenFrescoの開発者なのに全然使ってないな,と思うことがあり,一念発起.Windowsの環境を整えることにしました.OpenFrescoでは実験用の機器をコントロールする必要があり,そのためのライブラリはWindowsのみしか対応していないものが多いためです.まずはOpenSeesのビルドもやってみました.案の定,一筋縄では行かなかったので,ここに覚え書き.

準備

  • OS:Windows 10 (64 bit)
  • コンパイラ:Microsoft Visual Studio Community 2019(フリーで利用できます)
  • OpenSees ソースコード:Git Hub OpenSees Release Pageよりversion 3.1.0のzipファイルをダウンロード.自分のDocumentフォルダに展開.
  • Tcl/Tk:ActiveStateのActiveTclより,version 8.6をダウンロード.OpenSeesのVisual Studioプロジェクトファイルでは,Tcl関連のリンク先をc:\Program Files\tclを想定しているので,インストール先もこちらに変更.
  • 配布されていないライブラリ:これが一番見つけるの大変でした.OpenSees実行ファイルをリンクする際,ifconsol.libなどが求められるのですが,これが配布されていません.OpenSees + ifconsol.libで検索すると見つかるライブラリを使ってもうまく行かない.おそらくそれらは32 bitバージョンのよう.Intel® Parallel Studio XE Cluster Edition for Windows* 2020の体験版をダウンロードして見つけました.肝心のファイルは,c:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.0.166\windows\compiler\lib\intel64_winフォルダにある以下のファイルをOpenSees-3.1.0\Win64\libにコピー.体験版の期間が切れるとどうなるんだろう?
    • ifconsol.lib
    • libdecimal.lib
    • libifcoremt.lib
    • libifport.lib
    • libirc.lib
    • libmmt.lib
    • svml_dispmt.lib

ビルド

OpenSeesを展開したフォルダより,Win64フォルダにあるOpenSees.slnをダブルクリック.Visual Studioのソリューションファイルです.

最新版のソースコードには,インタープリターとしてTclに加え,Pythonも使えるように拡張されていますが,とりあえずTclの方だけビルドしますが,一点だけ修正します.Visual Studioのソリューションエクスプローラーより,OpenSeesのプロパティを右クリックして,プロパティページを開き,構成プロパティの「C/C++」の「コード生成」の中で,「ランタイムライブラリ」を「マルチスレッドデバッグ DLL (/MDd)」に変更します(下の画像参照.2020/1/20追記).これで「ビルド」.するとWin64\binフォルダに,OpenSees.exeができるはず.

四半世紀たって

今から25年前の1995年1月17日は、私が京大土木の耐震工学研究室の在籍していた大学院一回生の冬。一年前に橋梁の地震時性能に関する卒業論文を提出した耐震工学者の卵でした。激しい揺れで起こされ、テレビを付けるもほとんど情報がありません。その中で報道された震度分布を見ると、大阪などが震度4であった中、最大震度を示していたのが京都で震度5。京都大学がほぼ南端となる花折断層が動いたと思いました。

気がつくと、いつの間にか震度分布に神戸が追加されていて、震度6を示しています。混乱。動いたには花折断層ではない?明るくなるにつれ、神戸周辺で大火事が発生、建物の被害も出ているようだ、というニュースを見て研究室に向かい、まずは転倒防止対策をしていた本棚は無事。落ち着いてテレビを付けると目に飛び込んできたのが、高速道路高架橋の倒壊でした。絶句。でも、まだ他人事でした。

数日後、研究室の教授より、土木学会第二次調査団の手伝いをするように指示を受けました。誰でもよかったのでしょうが、卒論、修論〆切間際の四回生、M2は動けません。唯一の日本人のM1だった私が消去法的に選ばれたのでしょう。1月22日、倒壊した神戸の地に立ちました。そこから数日、鉄道被害調査チームの補助として現地調査。移動中、目の前の道にビルが横倒しになっている異常な光景。でも、改めて探しても、その写真が無いのです。撮っていない。フィルム時代で撮影枚数に制約があった時代。鉄道被害調査のためにフィルムを残しておこうと思ったのだと思いますが、恐れらくそれだけでは無い。異常ではあるけれども、神戸の街がどこもそういう状態だったので、あえて撮る、という行為に至らなかったのだと思います。

数日の調査を終え、京都駅に到着した途端、異様な光景に恐怖を感じました。どの建物も「壊れていない」という異様な光景。体がガタガタ震え、今まで如何に自分が異常な状態にいたかを自分ごととして認識した時でした。

あれから25年、当時所属していた研究室の教授として日本、世界の耐震工学をリードする立場にいます。耐震の特殊性、難しさを知っています。自分ごととして責任感も持っています。その上で目指すのは、地震国ならではの美しい構造物、善き社会です。きれいごとを言うな、甘ちゃん、と言われようとも。土木工学者ですから。

日ノ岡峠の2つの修路碑

昨日は昼から東京だったので、10時ごろまで道路調査(散策)。明治、大正国道2号であり、昭和40年ごろまで国道1号だった京都府道143号。何より江戸と京都を結ぶ東海道ですね。京都への最後の難所が九条山の日ノ岡峠でした。

琵琶湖疏水インクラインがある蹴上から東に進むと、一気に歩行者がなくなりますが、空気感も一変します。往来の多い街道で大都市との境界は晒し首場であることも多いですが、京都七口でもある粟田口は処刑場がありました。それを供養するために、多くの慰霊碑が並んでいます。明智光秀もここで晒されていたらしい。峠の最高点あたりに旧東山ドライブウェイへ分岐する跨道橋がありますが、そのすぐ先に明治初めに日ノ岡峠を整備した証である修路碑が建てられています。

内容の詳細はこちらこちら。明治8年から2年をかけ、約6km(1里19町51間)を整備し、最高地点を約3m(1丈1尺)低くし、この難所を整備した、とあります。明治国道が規定されたのは明治9年ですから、まさに東海道から国道に切り替わるに当たり、ここを国道にふさわしい道に整備しようとしていたと考えるとグッときます。

日ノ岡峠を越えると、そこには京津国道改良工事竣工紀念碑があります。昭和6年から昭和8年にかけて、内務省大阪土木出張所京津国道改良事務所により整備され、道路拡幅や舗装が施工されました。そしてこの改良事務所が、今の国交省京都国道事務所のルーツとなります。京都の国道の基礎がまさにここにある、そして明治、昭和の日ノ岡峠整備の証しが少し離れて立っていることにグッときませんか。そして、今は国道ですらなくなり、国道時代の記憶が失われる中でも道は残り、私たちの生活を支えてくれていることに、土木の仕事の誇らしさを感じます。

新年(というには遅いけれど)にあたり

令和2年の正月休みが長かったこともあり、1月6日からの一週間は、仕事始めというような悠長なものではなく、いきなりフルスロットルの一週間でした。

とはいえ、成人の日を含む3連休で時間があったので、研究室HPの情報を更新。そして放置状態だったこのHPをもっと活用しようと思います。そもそもblogの設定が分からず、投稿しても表示されなかったから諦めていただけなんだけど。ここは個人ページなので、トップページを投稿ページに切り替え、Facebookより自由に、色んな思いつきのメモとして。

昨年5月より古巣の耐震工学研究室に戻り、改めて構造ダイナミクス研ならではの耐震研究の方向性を思案し続けています。その中で自分らしさをどう組み込むか。動的数値解析が一般となっている時代に、大学らしい耐震研究とは?耐震工学が生み出す美とは?やりたいことはたくさんあります。今年もよろしくお願いいたします。

(遅い初詣での大豊神社の狛鼠)

2018年6月18日に強い揺れを感じました

2018年6月18日,大阪府北部で震度6弱を観測する地震が発生しました.京都でも震度5強と,近年ではまれに見る強い揺れを感じました.家族の中には電車に閉じ込められたものもいて,緊張の毎日が続いています.京都ですら,このような状態ですから,震源に近い地域は尚更.一刻も早い日常への回復を祈念します.

私ができることとすれば,この地震による土木インフラへの影響を記録すること.6月19日に一部ですが影響が大きかった大阪府北部に調査へ行き,調査をはじめています.随時更新しますが,特設ページも開設しました.