ホーム > 管網計算ライブラリ
管網計算ライブラリ製品 改訂新版
管網計算は、上水道、かんがい用パイプラインなどの管水路で、水位、流量を求める計算です。
弊社では、従来から管網解析プログラムWin-Pipeを発売してきました。また、同プログラムの解析機能を取り出したライブラリの提供もおこなってきました。
この度、解析機能のソースコードを最新の開発環境(Microsoft Visual Studio 2010)に対応させるともに、解析アルゴリズムの見直し、複数コアでの並列処理が可能な連立方程式ソルバー(*)への対応をおこなった新しいライブラリ(コンポーネント、モジュール)を開発しました。
見直しに伴い、大規模問題での計算速度を飛躍的に向上させることができました。
(*)インテル(R) マス・カーネル・ライブラリー
現在、水道の経営を一括して実施するなどの「水ビジネス」が注目を集めておりますが、ITを利用したこれからの水道管理には、管網解析を取り入れた合理的な管理がさらに重要になると考えられます。「水ビジネス」の展開を考えておられるお客様におかれましては、是非当社の管網計算ライブラリのご利用をご検討下さい。
プログラムの利用法
-
ライブラリは、Microsoft .Net Frameworkのクラスライブラリ形式で作成されています。
GISソフトウェアなど、管路データを管理するアプリケーションから、ライブラリを呼び出して利用します
-
ライブラリは、オブジェクト指向で作成されており、管路や節点をわかりやすく定義できます。
アプリケーション側の手順は、おおよそ次のようになります。
クラス図をこちらに示します。
-
データファイルから、管路、節点に関するデータを読み込んで、ライブラリの、節点、管路オブジェクトを作成し、属性をプロパティに入れます。節点、管路のオブジェクトは、番号ではなく名前で管理します。
-
ライブラリの計算メソッドを呼び出して、管網計算を実行します。
-
節点、管路オブジェクトから管網計算結果を取得し、ファイルに保存したり表示を行います。
節点、管路の数に制限はありません。節点、管路のオブジェクトを名前で管理しますので、追加/削除により番号を振り直すといった手間は生じません。
管網配管、樹枝状配管いずれにも対応できます。
-
対応する開発環境:Microsoft Visual Studio 2008/2010
開発言語 Visual C#,Visual Basic,Visual C++など
Microsoft Office VBAなどから呼び出し可能な、COMインターフェース対応版もあります。
- サンプルソース 実用的な例ではありませんが、計算時間測定用に仮想管網を生成して実行する例です。オブジェクト使用法がわかるようになっています。
-
ライブラリには、データのファイル入出力機能、画面表示機能はありません。
データの入出力、画面表示は、ライブラリを利用するお客様のアプリケーション側で行っていただきます。
-
64ビットWindowsの環境で使用できる64ビット専用ライブラリも提供可能です。
-
お客様のアプリケーションに応じたインターフェースへのカスタマイズも承っております。
ご相談下さい。
-
お客様の開発したアプリケーションに本ライブラリを組み込んで、第三者に販売、譲渡される場合には、別途ライセンス契約を結んでいただき、販売、譲渡した本数に応じたランタイムライセンス料が必要になります。
計算機能
本プログラムでは、次の計算が可能です。
-
水位・流量計算
- 水源水位、取り出し流量を与えて管路の流量、節点の動水位(圧力)を計算します。通常の管網計算です。
- 必要な入力条件は、節点と管路の接続情報、管径、長さ、流速係数、取り出し流量、水源水位、およびバルブ、ポンプの属性情報です。
- 取り出し流量は、節点に与えることも、管路に与えることもできます。
- 管路に取り出し流量を与える場合には、管路枝に均等に取り出し点が配置されていることを想定します。
- 水源数に制限はありません。ポンプ加圧、バルブ減圧にも対応します。
- 吐出点の高さを与えて、流量を求めることも可能です。
- 摩擦損失の式は、Hazen-Williams式または、Weston式で、管路ごとに式を選択できます。
- 計算方法は、流量法です。流量法の計算に必要な閉路(ループ)の探索は、自動的に行います。
-
残留塩素濃度計算
- 任意節点への塩素注入量を与えて、全ての節点で残留塩素濃度を求めます。
- 管路枝ごとに減少係数を与えます。減少係数は、一定値とします。
- 注入節点は、複数与えることができます。
- 同時に、全ての節点での滞留時間を求めます。
- これらの計算には、水位・流量計算で求められた流量を使用します。
-
汚染質移流計算
- 任意管路に汚染質を与えて、全ての節点での汚染質濃度を求めます。
- 工事による赤水の拡散推定などに使用します。
- 汚染質は、減衰することなく流れに沿って移動(移流)するものとして計算します。
- 汚染されていない水と混合することにより濃度は下がります。
- 経過時間を指定して濃度を求めることができます。
-
最適管径計算
- 最適化対象管路を指定して、必要水頭、制限流速を満たし、コストが最小となる管径を指定した規格管から選択します。
- 最適化対象管路を含む全ての管路で配分流量を求め、制約条件のもとで管径候補の組み合わせを求める線形計画法問題として解を求めます。
- 管路の拡張設計などに利用可能です。
- 条件によっては、解が求められない場合も生じます。
本プログラムでは、次の施設を組み込むことができます。
-
【水源】
水源は、水位を一定とした節点と扱います。
-
【仕切弁】
管路で、仕切弁で閉塞した場合を扱えます。仕切弁は任意の管路に設置できます。仕切弁閉鎖した場合には、当該管路は、計算から除外されます。
-
【逆止弁】
管路、バルブ、ポンプで、逆止弁を設置できます。水位・流量計算を行って、逆止弁が設置された管路で逆流が発生した場合、当該管路を閉鎖して再度計算を行います。
-
【バルブ】
バルブによる水頭損失を損失係数で与えます。長さはゼロと扱います。
-
【二次圧一定バルブ、二次圧一定ポンプ】
二次側(吐出側)の水位(圧力)を一定とする機構があるバルブ及びポンプを扱えます。
-
【定減圧バルブ】
減圧量を一定とする機構があるバルブを扱えます。
-
【吐出点】
取り出しバルブの吐出側です。吐出点は、吐出口の設置標高と等しい水位を与え水位一定の節点とします。分水量(取り出し量)が管内圧力により変動すると考えられる場合に使用します。
-
【ポンプ】
ポンプの流量と揚程の関係を表すポンプ特性を、二次曲線で表現できます。
揚程一定にすることもできます。
機能の拡張予定
現時点では完成していませんが、次のような拡張、応用を予定しています。
-
Win-Pipeの改良
管網解析プログラムWin-Pipeに本ライブラリ機能を組み込んで、模式図の画面入力、結果の表示などを行えるようにします。
-
Excelを利用した簡易計算版
Excelのシートに入れたデータから管網計算を実行できるアドインプログラムを作成します。
小規模問題での利用を想定しています。
-
XMLファイル保存、呼出
ライブラリ側で管路網データをXMLファイルに入出力する機能を追加します。
-
水撃圧計算との統合
別途発売している水撃圧プログラムと、本ライブラリは同様のオブジェクト構造を持っており、共通コードで開発を行っています。
同じライブラリ製品で管網の定常水理計算と非定常水理計算(水撃圧計算、サージング計算)が実行できるようにします。
計算時間 (水位・流量計算)
改訂新版ライブラリを利用して管網計算を行ったときの計算時間を、当社製旧製品と比較して示しました。
数万点の節点でも実用的に解が求められることがわかります。
閉路探索部分のコードを書き換えて、4月以前のものよりさらに高速になりました。(2011/5)
64ビットWindowsでのテストを加えました。64ビット専用ライブラリも作成しました。(2011/8)
CPU:Mobile Intel(R) Pentium(TM)III 933MHz
WindowsXP 32ビット
例題番号 |
節点数、管路数、閉路数 | 計算時間 | 備考 |
改訂新版ライブラリ | 当社製旧製品 |
1 | 節点:27,900、管路:30,248、閉路:2,276 |
約54.18秒 | 約257秒 | 実管網 |
2 | 節点:54,457、管路:56,963、閉路:3,514 |
約167.74秒 | 約1,839秒 | 実管網 |
3 | 節点:16,001、管路:31,210、閉路:15,220 |
約53.12秒 | 約2013秒 | 仮想管網 |
CPU:Intel(R) Core(TM)2 Duo P8400 2.26GHz
WindowsXP 32ビット
例題番号 |
節点数、管路数、閉路数 | 計算時間 | 備考 |
改訂新版ライブラリ | 当社製旧製品 |
1 | 節点:27,900、管路:30,248、閉路:2,276 |
約6.95秒 | 約24秒 | 実管網 |
2 | 節点:54,457、管路:56,963、閉路:3,514 |
約22.03秒 | 約172秒 | 実管網 |
3 | 節点:16,001、管路:31,210、閉路:15,220 |
約7.38秒 | 約221秒 | 仮想管網 |
CPU:Intel(R) Core(TM)2 Duo E8600 3.33GHz
WindowsXP 32ビット
例題番号 |
節点数、管路数、閉路数 | 計算時間 | 備考 |
改訂新版ライブラリ | 当社製旧製品 |
1 | 節点:27,900、管路:30,248、閉路:2,276
| 約4.11秒 | 約11秒 | 実管網 |
2 | 節点:54,457、管路:56,963、閉路:3,514 |
約14.09秒 | 約103秒 | 実管網 |
3 | 節点:16,001、管路:31,210、閉路:15,220 |
約4.56秒 | 約150秒 | 仮想管網 |
CPU:Intel(R) Core(TM) i5-2520M 2.50GHz
Windows7 64ビット
例題番号 |
節点数、管路数、閉路数 | 計算時間 | 備考 |
改訂新版ライブラリ | 新版x64プログラム | 当社製旧製品 |
1 | 節点:27,900、管路:30,248、閉路:2,276
| 約4.12秒 | | 約11秒 | 実管網 |
2 | 節点:54,457、管路:56,963、閉路:3,514 |
約13.72秒 | | 約86秒 | 実管網 |
3 | 節点:16,001、管路:31,210、閉路:15,220 |
約4.54秒 | 約3.55秒 | 約98秒 | 仮想管網 |
CPU:Intel(R) Core(TM) i7-2600 3.40GHz
Windows7 64ビット
例題番号 |
節点数、管路数、閉路数 | 計算時間 | 備考 |
改訂新版ライブラリ | 新版x64プログラム | 当社製旧製品 |
1 | 節点:27,900、管路:30,248、閉路:2,276
| 約3.17秒 | | 約8秒 | 実管網 |
2 | 節点:54,457、管路:56,963、閉路:3,514 |
約10.68秒 | | 約53秒 | 実管網 |
3 | 節点:16,001、管路:31,210、閉路:15,220 |
約3.52秒 | 約2.54秒 | 約73秒 | 仮想管網 |
-
当社製旧製品も、流量法による管網計算を行っていますが、今回の改良で閉路探索を高速化したこと、連立方程式ソルバーを変更したことにより速度向上が実現しました。
-
他のプログラムの実行状態、常駐プログラムの状態により計算時間は変化します。
-
仮想管網は、40×40の格子状管路を並列に10ブロック配置し、水源から二次圧一定バルブ、または二次圧一定ポンプでつないだものです。実管網に比較して閉路数が多くなります。
-
節点、管路数には、孤立節点、閉鎖管路等を含みます。閉路数は、孤立節点、閉鎖管路等を除いて実際に計算で使用される閉路数です。
規模が大きく、かつ閉路数の多い問題ほど新版ライブラリの効果が発揮されます。
-
例題1,2の計算時間には、データの入出力時間を含みます。純粋な計算時間は、これより若干少なくなります。
-
逆止弁を設置して逆流が生じた場合には、再計算のための時間が必要になります。
例題2では、逆止弁が働いて再計算を行っています。同規模で逆止弁がない場合、計算時間は上記の半分近くになります。
-
"新版x64プログラム"は、64ビットCPU専用に作成したプログラムを使用した結果です。