2012年5月11日金曜日

Haskell — ありえるえりあ


STMとロックについて

だいぶん間が開いてしまいましたが、その3です。

STMモナドによる操作は、ロックフリーです。 synchronize だとか lock だとか unlock だとかいうキーワードを書く必要はありません。 しかし、それは Haskell のコードからの視点のようです。 内部的にはロックを使っています。 そこで、ロックを実感するために、このようなコードを実行してみます。 import宣言と、ここにない関数はその1、その2から持ってきてください。

  fib :: Int -> Int  fib 0 = 0  fib 1 = 1  fib n = fib (n - 1) + fib (n - 2)    threadA :: TVar Int -> IO ()  threadA v =      do n <- atomically $ readTVar v         print n         atomically $ writeTVar v (n + 1)    threadB :: TVar Int -> IO ()  threadB v = atomically $ writeTVar v $ fib 40    main :: IO ()  main = do c <- newCounter            v <- newTVarIO 0            fork c $ every 500 $ threadA v            fork c $ threadB v            waitCounter c 2  

fib は有名なフィボナッチ数列です。 時間がかからないと意味がないので、わざと遅い実装にしています。 threadAfib 40 を計算して、2つのスレッドで共有している変数 v に結果を代入しています。 threadBv の値を出力して v を1増やしています。

このコードを実行すると、

  0  1  2    (中略)  102334155  102334156  102334157  

このような結果が期待されます。 しかし、このような結果にはなりません。 実際には、

2012年5月10日木曜日

Amazon.co.jp: 電気化学インピーダンス法 原理・測定・解析: 板垣 昌幸: 本


1 電気化学インピーダンス法への手引き
1.1 電気化学インピーダンス法とは何か?
1.2 電極反応と電気化学インピーダンスの関係
1.3 電気化学インピーダンス法の利用
1.4 インピーダンス解析に用いる基礎数学
2 電気化学インピーダンス法の原理
2.1 電気化学測定の中での電気化学インピーダンス法の位置づけ
2.2 電気化学測定に必須な公式
2.3 時間領域と周波数領域での解析
2.4 電気化学インピーダンス法の適用条件
3 実験装置
3.1 電極
3.2 電気化学セル
4 インピーダンス測定法と機器
4.1 測定機器
4.2 FRAの原理
4.3 FRAを用いたインピーダンススペクトルの測定
4.

2012年5月4日金曜日

ランドマーク 解説 第6回


目次

  1. ジョン・ハンコック・センター
  2. クライスラー・ビルディング
  3. 東京タワー
  4. 中国銀行タワー
  5. CNタワー
  6. エンパイアステートビルディング

設置費用:§165000/  月間維持費:§320
アメリカ合衆国、シカゴ
竣工年月 1970年、高さ 344m(アンテナを含めると448m)、地上階数 100

黒い外観と、壁面の交差したブレース、そして一番上にある2本の巨大なアンテナが特徴的なビルディング。このビルがミシガン通りに建ってからこの付近の南北約1マイルが急速に発展し、マグニフィセント・マイルと呼ばれ有名店が軒を連ねるシカゴ一の繁華街になりました。このビルはシアーズ・タワーと同じ設計者、建築家により建てられました。「ビッグ・ジョン」の愛称で呼ばれています。また94階の展望台までたった39秒で運んでくれ、この展望台から望む夜景は、シカゴで一番美しいといわれています。

SimCity4で初登場のランドマーク。

設置費用:§170000/  月§330
アメリカ合衆国、ニューヨーク
完成1930年、319m、地上77階

Chrysler Building

2012年5月2日水曜日

コンクリートを腐蝕させるもの(注5)


   コンクリートを腐蝕させるものと事柄

     コンクリートを腐蝕させる代表的物質はです。 

コンクリートは、砂と砂利と砕石をポルトランドセメントで結合した塊です。
そのポルトランドセメント石灰岩(炭酸カルシウム)と粘土等の鉱物を一緒に高温で焼いて、粉に砕いて作られますから、カルシウムを含む種々の無機塩類の混成体になります。
これに水が混ざると、それら鉱物由来の無機塩類がゴチャ混ぜになって水と化学結合(水和)して"複合カルシウム塩水和物"とでも言うべき固体になります。
       それらの固体は、(日常的感覚では)水に溶けません。
        だから、安心してコンクリートの家に住めるわけです。

・・ところが・・この"水に溶けない"複合カルシウム塩は、(硫酸カルシウムを例外として)「大抵の素早く反応して、別の水溶性に変る、」という性質を持っています。
それ故、コンクリートがの水溶液に浸かると、この反応と溶出が起って、スカスカになります。   それが"酸による腐蝕"です。

そんな高速の分り易い腐蝕以外に・・に、コンクリートには、ある種の塩類、多価アルコール類、糖類� ��による極めてゆっくりとした機構がよく分らない腐蝕もあります。
 水中のコンクリートは多分、水への(微量の)溶解と析出がバランスした平衡状態で安定しているのだと思われますが、糖類等はこの析出反応を妨害するのかもしれません。

ともかく・・実際に、腐蝕現場のコンクリートを観察すると、コンクリートの腐蝕には、少なくとも2種類の形態があるように感じます。
つまり、硫酸カルシウムスラリー槽等は、確かにコンクリートはグリ石が出るくらい腐食するのですが、残った表面緻密で硬く、外観上、劣化していません
一方、例えば工場の廃酸ピットや、熱海や伊東といった硫黄分が多い温泉地の密封型下水貯留槽等は、時として、ド ライバーを突っ込むと根元まで入るくらい深く軟弱化しています。 
  だから、コンクリートには多分、複数の別々の腐蝕機構があるのでしょう。

 こういった腐蝕のし方は・・ 【槽内の位置の差異によって変わることがあります】
何も塗装されていないコンクリート製廃液槽で、よく見られるのは、上にゆく程腐蝕がひどくなる、というパターンであり、大抵、気相部の腐蝕が、最悪です。
これは、ガス体による腐蝕と思われ、H2S、NH3などが原因物質として疑われます。
液相部の上下差は、酸素濃度が関係しているのかもしれません。
このように、「同一の構造体� �でも、部分部分は「別々の」腐蝕をするのが普通です。
     腐蝕には、"腐蝕性物質の有無"以外の色々な要素も関与するからです。

    ・・コンクリートの"内部空隙"もそういった要素の一つです。・・
・・(幾つかの理由により)・・コンクリートには必ず無数の微細な空隙が出来ます。
 後述するように・・この"空隙" も、コンクリートの腐蝕のし方を左右しています。

ちなみに、水中のコンクリートではこの空隙に水酸化カルシウムを溶かした遊離水・・というか・・遊離水に溶け込んだ水酸化カルシウムというか・・(これが強アルカリ性をもたらす主体) が詰まっています。これは上記の複合カルシウム塩の微細な隙間を"うろついて"いるだけですから、周囲の水に溶けて居なくなっても、強度には影響しません
("コンクリートはアルカリ度が下がれば強度が落ちる"・・と誤解なさっている方もいらっしゃるようですが、 コンクリート強度は、
空隙率の大小に左右されるのであり、アルカリの強弱とは無関係です。)
(余談ですが・・養魚水槽を作った時は、コレが溶け出すと、"魚が死ぬ"という問題が生じるので、溶出量が少なくなるまで"アク抜き"と称して長期間放置します。 更に余談ですが・・表面に塗装をすれば、アクの溶出は防げます。)

・・ということで・・"全部チャンと分ってるわけじゃ無い"が・・という但し書きを付けて、以下に、廃水、下水雨水に晒されるコンクリートを劣化もしくは変化させる代表的物質名を挙げます。