はじめに
Step1
各計算の実装
それでは、Visual Studioを起動します。
「新しいプロジェクトの作成」を選択します。
「Windowsフォームアプリケーション」を選択して「次へ」ボタンを押します。
プロジェクト名を入力します。
今回は「簡易RC寿命判定」としました。
入力後「作成」ボタンを押します。
まずは中性化の計算をしていきます。中性化の計算はルートt則という計算式を使用するそうです。計算式は画像のとおりです。
それでは中性化のコードを作成していきます。
デザイン画面を開き、ソリューションエクスプローラーの「簡易RC寿命判定」のところで右クリックし、追加→クラスを選択します。
クラス名は「ConcreteMember.cs」とするそうです。
コードは画像のとおりになるそうです。ここでは中性化速度係数は計算しないようです。
ここからは塩害に関するコードを追加していきます。まず、塩害の予測には「フィックの拡散自由方程式」を用いるそうです。
この条件で計算し、結果が1.2 kg/m3 (腐食限界値) を超えていれば、「鉄筋は既に腐食を開始している可能性が高い」と判定するロジックになるそうです。
デザイン画面のソリューションエクスプローラーの「簡易RC寿命判定」のところで右クリックし、追加→クラスを選択します。
クラス名は「ChlorideAttack.cs」とするそうです。
計算結果が1.2 kg/m3 になるまでの寿命を求めるコードとのことです。コードは画像のとおりになります。
ここからはASRに関するコードを追加していきます。ASRによる評価は、ひび割れ幅に応じて、塩害や中性化の速度係数を跳ね上げるという補正モデル
とするそうです。
デザイン画面のソリューションエクスプローラーの「簡易RC寿命判定」のところで右クリックし、追加→クラスを選択します。
クラス名は「ASRAnalysis.cs」とするそうです。
コードは画像のとおりとなります。
ここからは鉄筋腐食速度のモデルに関するコードを追加していきます。
腐食が開始してからの鉄筋直径の変化は、画像のとおりの式で表されるそうです。
またこの式での腐食速度wは固定値ではなく、複合劣化の影響で変動するようにするそうです。
デザイン画面のソリューションエクスプローラーの「簡易RC寿命判定」のところで右クリックし、追加→クラスを選択します。
クラス名は「RebarCorrosion.cs」とするそうです。
コードは画像のとおりとなります。
ここからは、これまで出てきな式の中でふつうは入力する必要がある項目のうち推定できる項目を計算するクラスを作成していきます。
このクラスは「脳」にあたる部分になるそうで、土木学会の示方書や過去の学術論文で定義された、一般の人には馴染みのない
「経験的係数」がいくつか組み込まれているそうです。
特に重要な係数算出ロジックは3つあるそうで、まず一つ目は中性化速度係数。
中性化速度は、水セメント比(W/C)が60%を超えると急激に加速するという実験結果に基づいているそうです。(岸谷式)
次に、塩化物イオン拡散係数Dについてです。塩分がコンクリート内部に染み込む速さDは、
線形(足し算)ではなく、対数(指数関数)で変化するそうです。
特にW/Cがわずか5%上がるだけで、塩分の浸透スピードは 約1.5倍に跳ね上がるそうです。
最後は、ASR加速倍率についてです。
ユーザーが入力した最大ひび割れ幅に5.0を掛けるロジックで、このソフト独自の強力な補正だそうです。
通常、コンクリートの寿命計算は「ひび割れがない健全な状態」を前提としているそうですが、ASRによるひび割れは「内部組織の崩壊」を伴うそうです。
そこで、専門家の知見として、ひび割れ幅が0.2mmを超えると、酸素や水の供給量が格段に増えるため、劣化速度は2倍(100%増)なると評価するのが妥当である
ことからの判断に基づいた係数設定だそうです。
「デザイン画面のソリューションエクスプローラーの「簡易RC寿命判定」のところで右クリックし、追加→クラスを選択します。
クラス名は「EstimationLogic.cs」とするそうです。
コードになります。コードが長いので3つに分けます。
続きです。
最後です。
Form1の作業に移行します。まずデザイン画面です。デザインは画像のとおりでそこに記載のある名前がそれぞれのツールのNameになります。
comboBoxの「items」のコレクションのところを押します。
エディタが開きますので、鉄筋径を入力します。
chartを貼り付けます。Nameはデフォルトのままです。
すみません。一つツールを落としていました。
「計算実行」ボタンをダブルクリックして、コード画面を表示させます。
コードは画像のとおりですが、長いので分けて表示します。
続きになります。
続きになります。
最後になります。
グラフ表示の関数「UpdateDegradationChart」を追加します。
これもコードが長いので分けて表示します。
続きになります。
最後になります。
ここで鉄筋断面保持率の計算をしています。
この鉄筋断面保持率とは設計時の鉄筋断面積に対して、腐食によって減少した現在の断面積が何%残っているかを示す指標とのことです。
コンクリート構造物の「寿命」には、鉄筋が錆び始めるまでの「耐久性寿命」と、断面が減って重さに耐えられなくなる
「耐力寿命」の2段階があり、断面保持率は後者の「構造物の安全性」を直接評価する極めて重要な数値だそうです。
一度実行してみました。随分「Gemini」様とやり取りをしましたが、無事ここまでたどり着けました。
Step2
レポート出力機能の実装
計算部分ができたので、計算結果を出力する機能を追加します。
まず、ソリューションエクスプローラーの「参照」を右クリックして「参照の追加」を選択します。
「COM」を選択し、画像にあるライブラリにチェックをいれます。
Form1のコード上部に「using・・・」を追加します。
デザイン画面に戻り、「レポート出力」ボタンを追加します。
「レポート出力」ボタンをダブルクリックしてコード画面を開きます。そこに画像のコードを追加するそうです。
さらにコードの追加です。
続きになります。
続きになります。
続きになります。
続きになります。
最後です。これでレポート出力の実装が完了になったようです。
Step3
EXE化
ソリューションエクスプローラーの「properties」をダブルクリックします。
参照ボタンを押してアイコンを選択します。
「Debug」を「Release」に変更する。
「簡易RC寿命判定のリビルド」を押します。
画像のパスのところに実行ファイルが作成されています。これですべての作業が完了になります。
今回は随分「Gemini」様とやり取りをしたので大変でした。でも最終的には解決してくれます。
ということで終わろうとしていましたが新たなエラーを発見し再度「Gemini」様とラリーが続きました。
ラリーの結果を受けて修正したコードは以下のとおりになります。
「Form1.cs」内のコードになります。
続きになります。
続きになります。
続きになります。
続きになります。
続きになります。
続きになります。
続きになります。
続きになります。
続きになります。
これで最後になります。やっと終われます。間違いがまだあるかもしれませんが、もう気づけない状況です。ご了承ください。
お疲れさまでした。
「Gemini」様の力の偉大さを知ってしまったので、調子にのって新しいソフトを作成しようと思います。
近年(もう10年もたっているので近年でもないかな・・・)、コンクリートの剥離・剝落等の事故によるメンテナンスの重要性が重要視されています。橋梁においても5年に1度の点検が義務付けられている今日、 コンクリートを診断する技術がますます必要になってきてます。一方コンクリートの劣化メカニズムは複雑で奥深いものであるため判定には多くの経験が あるほうが優位です。
そこで、今回はその複雑な判定の一助にならないかと思い簡易版のコンクリートの寿命推定ソフトを作成することにしました。