(57)【要約】【課題】熟練者でなくとも避難経路を示す模式図を入力するだけで、自動的に避難時間と通路での必要滞留面積のシミュレーションを行うことができる避難シミュレーションシステムを提供すること。【解決手段】避難シミュレーションシステムは、避難経路を示す模式図（居室、歩行経路、ネック（出口扉、室内ネック）および出口を順次接続したもの）を入力する手段と、入力された模式図に基づき、少なくとも避難時間と最大滞留人数を算出する避難シミュレーション手段と、避難シミュレーションの結果を出力する出力手段とを備える。使用者が対象とする場所の模式図を作成して、各模式図のノードにパラメータを入力または変更することにより、システムが自動的に指針に沿った避難のシミュレーションを行い、評価結果を出力することができる。【選択図】　　　図１
2004085948.tif 000002
【特許請求の範囲】
【請求項１】
対象とする場所の避難経路を示す模式図を入力する手段と、
入力された模式図に基づき避難シミュレーションを行い、少なくとも避難時間と最大滞留人数を算出する手段と、避難シミュレーションの結果を出力する出力手段とを備えたことを特徴とする避難シミュレーションシステム。
【請求項２】
前記避難シミュレーション手段は、任意の地点の人の移動を、時刻を変数とする単位時間当たりの通過人数の階段関数として表現することを特徴とする請求項１に記載の避難シミュレーションシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、避難シミュレーションシステムに関し、特に模式図を入力することにより、自動的に避難時間および滞留面積のシミュレーションを行うことができる避難シミュレーションシステムに関する。
【０００２】
【従来の技術】
従来、建物等の建築確認の際に、避難時間が許容時間内に収まること、および避難経路の収容面積が十分であるを示す資料の提出（防災計画書）を求められる場合があり、建築設計業者は指針に基づき、手作業でデータを作成して提出していた。
【０００３】
【発明が解決しようとする課題】
従来の方式においては、指針に精通した熟練者が必要であり、避難時間を求める作業も繁雑であるという問題点があった。
この発明は、上記したような従来技術の問題点を解決し、熟練者でなくとも模式図を入力するだけで、自動的に指針に従った避難時間および必要滞留面積のシミュレーションを行うことができる避難シミュレーションシステムを提供することを目的とする。
【０００４】
【課題を解決するための手段】
この発明の避難シミュレーションシステムは、対象とする場所の避難経路を示す模式図を入力する手段と、入力された模式図に基づき避難シミュレーションを行い、少なくとも避難時間と最大滞留人数を算出する手段と、避難シミュレーションの結果を出力する出力手段とを備えたことを特徴とする。
【０００５】
この発明によれば、使用者が避難シミュレーションを行う場所の模式図を作成して、パラメータを入力または変更することにより、システムが自動的に指針に沿った避難のシミュレーションを行い、評価結果を出力することができる。
【０００６】
【発明の実施の形態】
以下、図面を参照しつつ、この発明の好適な実施例を詳述する。図２は、本発明のシステムのプログラムを実行するパソコン３０のハードウェア構成を示すブロック図である。パソコンのＣＰＵ３１は、ＲＯＭ３２あるいはＲＡＭ３３に記憶された後述する本発明のプログラムを実行する。ＨＤＤ（ハードディスクドライブ）Ｉ／Ｆ３４は本発明のプログラムや各種データを記憶し、ＣＤ−ＲＯＭＩ／Ｆ３５、ＦＤＤ（フレキシブルディスクドライブ）Ｉ／Ｆ３６は記録媒体からデータの読み出しあるいは書き込みを行う。ＵＳＢＩ／Ｆ３７はキーボード４２、マウス４３、プリンタ４４との通信を行い、ビデオＩ／Ｆ３８はディスプレイ４１へ画面表示信号を出力する。この他ＬＡＮ等の通信Ｉ／Ｆを備えてもよい。なお、これは一例であり、周知の任意のコンピュータにおいて本発明を実施可能である。
【０００７】
図１は、本発明のシステムの処理の概要を示すフローチャートである。Ｓ１０においては、居室もしくは階の避難経路を示す模式図を入力、又は外部ファイルから読み込み、必要な編集を行なう。Ｓ１１においては、模式図の情報を用いて避難計算を行なう。Ｓ１２においては、避難計算の結果を参照して、避難の評価表および避難計算グラフを表示・印刷する。
【０００８】
図３は、図１のＳ１０の模式図入力処理を示すフローチャートである。Ｓ２０においては、使用者の操作に基づいて居室等のノードを画面上に配置する、または既存データをファイルから読み込む。Ｓ２１においては、各ノードの計算パラメータ等の属性を入力または編集／更新する。Ｓ２２においては、ノード間の接続関係を設定または変更する。
【０００９】
避難計算を行うためには、先ず、避難者の在室場所から避難先（直通階段や地上）までの避難経路を示す模式図を作成する必要がある。図１４（ａ）は、３つの居室（居室Ａ，ＢおよびＣ）から二つの階段（階段ＡおよびＢ）までの避難経路を示した模式図の例を示す説明図である。
【００１０】
この模式図は、従来より防災計画書の一部として記載さるべき避難計画の中で、避難時間および避難通路の必要滞留面積の計算と評価の根拠として使用されている図と同等のものである。
避難計算に用いる模式図に含まれる要素（以下「模式図ノード」もしくは単に「ノード」とよぶ）には、次の表１に示すようなものがある。
【００１１】
【表１】
2004085948.tif 000003
【００１２】
避難計算を行うための避難経路とするには、これらノード間を互いに結び付ける必要がある。因みに、模式図上では、この接続関係はノード間を結ぶ線分（折れ線）として表現される。
これら模式図ノードおよびその接続関係の情報を用いて「新・建築防災計画指針」（以下単に「指針」ともよぶ）に示された避難計算グラフによる避難計算（居室避難計算および階避難計算）を行うことができる。
【００１３】
なお、階避難計算では、避難時間（階避難時間および廊下避難時間）の合否を判定する基準となる「許容避難時間」を計算するため、対象とする階の総床面積の入力も必要になる。
一方の居室避難計算では、模式図に含まれる居室ノードの面積を合算することにより、許容避難時間の算定に必要となる居室の総床面積を得られるので、別途これを入力する必要は無い。
【００１４】
プログラム上は、表１に示した避難計算に必要となる情報以外に、模式図を画面上に配置・表示するための情報として、各ノードには、そのＸＹ座標（左上隅のＸＹ座標）と縦横サイズを持っている。また、座標とサイズの単位は、メッシュを単位とするものである。また、模式図の印刷との関係で、ページの二次元ＩＤを持ち、ノードが所属するページが判別可能にしてある。先に述べたノードの配置位置座標は、その属すページ内の座標になっている。
【００１５】
ノード間の接続関係は、避難計算の過程で模式図を走査するため、上流・下流双方向の接続情報を各ノードに保持する。表２に、各々のノード種別ごとの下流と上流への接続情報を示す（ここで下流とは避難者が流れる方向であり、上流とはその逆方向である。）。
【００１６】
【表２】
2004085948.tif 000004
【００１７】
表２の中で「への参照」とは、「一つのノードへの参照」を意味しており、また、「への参照リスト」とは、「二つ以上の複数ノードへの参照」を意味している。
因みに、「居室（室内ゾーン）」は、避難者が在室する場所であり、避難系路上で最も上流のノードである故、その上流への接続情報を持たない。逆に、「避難先」は、避難系路上で最も下流のノードであるので、その下流への接続情報を持たない。
【００１８】
また、「合流」は、ネックへ合流してくる上流からの複数の避難経路（居室もしくは歩行経路）への参照をリストとして持ち、「分岐」は、ネックから分岐していく下流の複数の歩行経路への参照をリストとして持っている。
【００１９】
「居室（室内ゾーン）」については、図１４（ｂ）の様に、別の居室を通って避難すべき居室（「居室内居室」とよばれる）が存在し得ることを考慮しなければならない。この場合は、外側の居室の出口への避難において、室内で合流が発生するので、居室ノードの下流に接続するノードは、ネックとなる出口扉のみならず、合流ノードの場合もある。
【００２０】
「合流」とは、「複数の避難経路がネックへ合流する」ことであるので、これに接続すべき上流ノードが複数存在する。従って、接続する上流ノードへの参照は、配列もしくはリストの形式で保持する必要がある。逆に、下流に接続されるべきものは合流先になる一つのネックであるので、下流への唯一つの参照を保持すれば良い。
【００２１】
「分岐」とは、「ネックから下流へ複数の避難経路に分岐する」ことであるので、これに接続すべき下流ノードが複数存在する。従って、接続する下流ノードへの参照は、配列もしくはリストの形式で保持する必要がある。
【００２２】
逆に、上流に接続されるべきものは分岐元となる一つのネックであるので、上流への唯一つの参照を保持すれば良い。もう一つ合流と異なる点は、分岐の場合は、各々の分岐先への分岐比率が必要になることである。また、特定の分岐先への比率を取得する便宜を考えると、参照と分岐比率を対にして、配列またはリストに格納しておくのが良い。
【００２３】
なお、分岐比率の代わりに、分岐する人数を使うことも可能であるが、上流の避難人数や接続関係の変更が生じた時、それに伴い自動的に下流の分岐人数を保守することは、殆ど無理である故、分岐への比率を持つ方が合理的である。ただし、表示については、分かり易くするため、分岐先ごとに、上流からの避難者人数合計と比率から分岐人数を計算して表示する。
【００２４】
避難計算は、避難先となる模式図ノードから始めて、ノード間の接続を上流へ向かって遡りながら、上流ノードへ計算を依頼することで上流からの避難者の流入を取得して、それを下流への流出として戻すという事を再起的に行うことにより実行される。
【００２５】
避難先となるノードは一般には複数存在する。例えば、階避難計算の場合は、避難先となる複数の直通階段や地上への出口が存在し得る（通路での二方向避難を確保すべきであるので寧ろ普通）。これら避難先ノード各々について、上記の再起処理を行えば、全ての計算を行うことができる。
【００２６】
図４は、Ｓ１１の避難計算処理を示すフローチャートである。Ｓ３０においては、避難の最終ゴール（避難先）となるべきノードの設定や旧計算結果のクリアなど避難計算の準備をしておく。Ｓ３１においては、階避難か否かが判定され、肯定の場合にはＳ３２に移行する。Ｓ３２においては、出火室とそれ以外の居室での避難開始時間を算定し、模式図に含まれる全ての居室ノードにその時間を設定する。
【００２７】
Ｓ３３においては、未計算の避難先ノードを一つ選び、これを当該避難先とする。Ｓ３４においては、模式図を参照し、当該避難先への経路を上流へ辿りながら、各々のネックでの滞留計算を行なう。Ｓ３８においては、当該避難先をカレントノードに設定して、その計算処理を呼び出す。Ｓ３６においては、計算済みフラグをＯＮに設定する。Ｓ３７においては、全て終了したか否かが判定され、否定の場合にはＳ３３に戻って処理を繰り返す。
【００２８】
ネック以外のノードでは、直上のノードへ計算を依頼し、それが終了したら自身の計算済みフラグをＯＮにすることのみ行っている。従って、避難計算における本質的部分は、「ネック」における滞留計算の部分にあると言っても良い。
【００２９】
ネックにおける滞留計算とは、以下の処理を行うことである。
▲１▼上流からの当該ネックへの避難者の流入（実際はネックを出口とする室への流入）の時系列データを取得
▲２▼当該ネックへの避難者到着の時系列データを計算
▲３▼当該ネックからの避難者流出の時系列データを計算
ここで言う「滞留」とは、▲１▼流入と▲３▼流出の差を意味し、その最大値と一人当たり必要滞留面積を乗じたものがそのネックでの必要滞留面積である。また、▲３▼流出は、当該ネックからその下流への流入になる。何れの計算結果も、ネック中に保存され、後に避難計算を評価したり、避難計算グラフを表示したりする時に、必要に応じてこの結果が参照される。
【００３０】
なお、分岐や合流を含むために、計算過程で同じノードが何度も参照されることがあり、単純に行うと効率が悪いため、各ノードには計算済みかどうかのフラグを持つ事とし、一度計算されるとそのフラグをＯＮにして、二度以上そのノードについて計算しないようにする。このようにしておけば、一度計算されると、不必要にその上流へ模式図を辿る事も無くなる。
【００３１】
図５、６のフローチャートに示す様に、避難計算は、ゴールとなる避難先ノードを基点として、与えられた模式図を順次上流に遡るようにして行なわれる。因みに、計算自体は、逆に上流の方から下流に向かって行われる。
【００３２】
図５、６は、Ｓ３８のカレントノード避難計算処理を示すフローチャート（１）および（２）である。Ｓ４０においては、計算済みか否かが判定され、未計算の場合にはＳ４１に移行する。Ｓ４１においては、避難先／歩行経路または分岐であるか否かが判定され、肯定の場合にはＳ４２に移行する。
【００３３】
Ｓ４２においては、カレントノードの上流ノードの避難計算を呼び出す（再起的呼び出しにより、上流ノードが一時的にカレントになる）。Ｓ４３においては、合流か否かが判定され、肯定の場合にはＳ４４に移行する。Ｓ４４においては、上流ノードリストから順次ノードを選定する。Ｓ４５においては、選択したノードの避難計算を呼び出す（上流ノードが一時的にカレントになる）。Ｓ４６においては、全て終了したか否かが判定され、否定の場合にはＳ４４に戻る。
【００３４】
Ｓ４７においては、ネックか否かが判定され、Ｓ４８においては、ネックの上流ノードの避難計算を呼び出す（上流ノードが一時的にカレントになる）。Ｓ４９においては、上流からの流入を取得し、このネックでの滞留計算を行なう。Ｓ５０においては、計算済みフラグをＯＮに設定して、呼び出し元（下流ノード）の避難計算に戻る。
【００３５】
図５、６のフローチャートで「上流ノード避難計算」と書かれている部分は、処理対象ノードは変化するが、同じ内容の処理の再起的呼び出しを意味している。（実際のプログラミングでは、ノード種別ごとに定義されたメソッドの呼び出しである。）したがって、その呼び出しから戻った時点では、上流のノードについて全ての計算が終了している。
【００３６】
ここで図５、６フローチャートに従って、模式図がどのように辿られるかを、図１４（ａ）に例示した模式図について見てみる。先ず、避難先となる模式図ノードは、「階段Ａ」と「階段Ｂ」の二つであるが、例えば、この順で模式図を辿ることにした場合、「階段Ａ」からの走査は、階段Ａ　→　扉ＫＡ　→　歩行経路（４ｍ）　→扉Ｒ１　→　歩行経路（１２ｍ）→　扉Ａ　→　居室Ａ　→歩行経路（９ｍ）　→　扉Ｂ　→　居室Ｂという順序で行なわれる。一方の「階段Ｂ」からの走査は、階段Ｂ　→　扉ＫＢ　→　歩行経路（４ｍ）　→　扉Ｒ２　→　歩行経路（７ｍ）→　扉Ｂ　→　歩行経路（６ｍ）　→　扉Ｃ　→　居室Ｃという順序で行なわれる。
【００３７】
前述した如く、ネック以外のノードでは、注目するものは殆ど無く、主に模式図を上流に辿ることしか行なわないが、ネックに辿り着いた時は、上流からの流入を取得して、その流入に基づいてネックでの滞留計算を行なわねばならない。
【００３８】
図７は、Ｓ４９のネックの滞留計算処理を示すフローチャートである。Ｓ６０においては、上流の避難経路から当該ネックへの流入を得るため上流ノードの流出速度計算（Ｓ６１）を呼び出す。Ｓ６１においては、指定ノードからその下流への流出速度を計算する（流入速度関数の配列が得られる）。ネックの直接上流になるノードは、居室、歩行経路および合流の３種であり、ここでは直接には、これらどれかのノードから取得する。しかし、それを通して、間接的に更に上流のネックや分岐も関係する。
【００３９】
Ｓ６２においては、得られた流入速度関数（通常複数）と当該ネックの通過能力（人／秒）に基づき、滞留計算を行ない、当該ネックからの流出速度関数および当該ネックでの最大滞留人数を求める。Ｓ６３においては、滞留計算の結果を、当該ネックの結果保存用変数に格納する。
【００４０】
図８、９、１０は、Ｓ６１の流出速度の計算処理を示すフローチャート（１）、（２）および（３）である。Ｓ７０においては、居室か否かが判定され、居室の場合にはＳ７１に移行する。Ｓ７１においては、次のようなパルス関数を流出（流入）速度関数として生成する。
区間：避難開始時刻　〜　避難開始時刻　＋ｌ／ｖ（秒）、速度：Ｎ＊ｖ／ｌ（人／秒）
但しＮ：在室人数、ｌ：歩行距離、ｖ：歩行速度である。
そして、生成した関数を結果配列に格納する。但し、Ｎ＝０もしくはｖ＝０の場合は、流出が無いとして、結果配列にＮｕｌｌ（ゼロ）を格納する。
【００４１】
Ｓ７２においては、ネックであるか否かが判定され、ネックの場合にはＳ７３に移行する。Ｓ７３においては、計算済みの滞留計算結果からこのネックの流出速度関数を取得し、流入速度関数に変換して、結果配列に格納する。ただし、流出が無い場合は、結果配列にＮｕｌｌを格納する。
【００４２】
Ｓ７４においては、合流であるか否かが判定され、合流の場合にはＳ７５に移行する。Ｓ７５においては、上流ノードリストから順次ノードを１つ選定する。Ｓ７６においては、選定したノードの流出速度計算を呼び出す。Ｓ７７においては、得られた流入速度関数を結果配列に追加格納する。Ｓ７８においては、全て終了したか否かが判定され、否定の場合にはＳ７５に戻る。
【００４３】
Ｓ７９においては、歩行経路であるか否かが判定され、歩行経路の場合にはＳ８０に移行する。Ｓ８０においては、上流は歩行経路またはネックか否かが判定され、肯定の場合にはＳ８１に移行する。Ｓ８１においては、上流ノードの流出速度計算を呼び出す。Ｓ８２においては、分岐ノードの流出速度計算を呼び出し、当該歩行経路への分岐流入を得る。
【００４４】
Ｓ８３においては、得られた流入速度関数の歩行時間に、自身の所要歩行時間を加算する。（所要歩行時間分の遅延を加える）
Ｓ８４においては、得られた流入速度関数を結果配列に格納する。ただし、流出が無い場合は、結果配列にＮｕｌｌを格納する。
【００４５】
Ｓ８５においては、分岐元となる上流ネックの流出速度計算を呼び出し、分岐前のトータル流出（流入）速度関数を得る。なお、ここに至るのは処理対象が分岐ノードの場合であり、呼び出し元の下流ノードは、歩行経路の筈である。Ｓ８６においては、呼び出し元歩行経路への流入速度関数を計算する。即ち、（１）呼び出し元歩行経路への分岐比率を分岐リストから取得する。（２）ネックからの流出（流入）速度関数を、分岐比率でスケーリングした流入速度関数を生成する。Ｓ８７においては、得られた流入速度関数を結果配列に格納する。ただし、流出が無い場合は、結果配列にＮｕｌｌを格納する。
【００４６】
上記フローに示したように、ネックの上流が合流ノードである場合は、複数の経路からの流入があるので、一般には、複数の流入を考慮してネックの滞留計算を行なう必要がある。
【００４７】
ネックの滞留計算を行う前処理として、先ず、ネックの上流からの流入を得るため、そのネックの上流ノードからの流出速度（下流への人の流れ）を計算する必要がある。実際は、当該ネックの直接の上流ノードに、それを求めることを依頼し、返されたものを自身への流入とする。
なお、この直前に上流ノードの計算をコールしている故、上流ノードでは全ての計算が終了しているので、上流からの当該ネックへの流入を得るための準備が整っている。
【００４８】
ここでの基本的な考え方は、依頼された上流ノードが自身で決定できない場合、さらに上流ノードにそれを依頼し、その返された結果を下流へ返すというものである。この時必要なら得られたものに加工を加えることもある。また、自身の情報に基いて計算できるなら、それを呼び出し元へ返す。
【００４９】
自分自身の情報から計算できるノードは以下の２種類のノードである。
▲１▼居室（室内ゾーン）：在室人数、室内歩行距離（最大値）、室内歩行速度、避難開始時間から計算できる。
【００５０】
▲２▼ネック：計算済みの滞留計算結果データに含まれる流出速度関数から直接計算できる。
【００５１】
したがって、これらのノードでは、それ以上上流への探査は行われない。これ以外のノードでは、その上流ノードから流出速度（下流から見れば流入速度）を得ることになる。
【００５２】
図８、９および１０の処理内容の詳細をノードの種類ごとに整理して表３に示す。なお、表３の中で「滞留計算が行われていない」と書かれている部分があるが、これまで示したフローの中から呼び出される限り未計算ということはない。
【００５３】
【表３】
2004085948.tif 000005
【００５４】
指針による避難計算では、居室からの流出の計算は、表３に示した方法により行なうが、合理的な根拠があり、有限時間の変域を持つ階段関数として表現可能である限り、他の計算方法を採用しても、避難計算は支障なく行うことが可能である。居室からの人の流出は、避難経路に沿って順次出口となる避難先へ伝播していく源流となるものである。この流れは、途中のネックで合流したり分岐したりしながら、避難経路上を伝播する。模式図は、この源流からの人の流れを表現したものである。
【００５５】
各ネックでの避難終了時刻（ネックからその先に流出し終わる時刻）は、流出速度関数の関数値が０となる最後の時刻である。流入や到着は、合流する避難経路の歩行速度や歩行距離などによって、途中で途切れることもあり、その結果流出も途中で途切れて０となる時間帯が存在し得る。従って、避難終了時刻を知るためには、流出速度が最後に０となる時刻を探す。流出速度関数は、時刻と流れ（人／秒）の配列として表現されているので、その末尾の時刻を取得すれば、それが該当するネックでの避難終了時刻である。
【００５６】
階避難では、「階段への避難（流入）完了」、または「階段附室への避難（流入）完了」を以って避難の終了とするため、先ずは、この条件に該当するネックノード（仮に「ゴール」とよぶ）を探す必要がある。これを検索する手順は、概ね次のとおりである。
【００５７】
▲１▼出口（階の避難先）の上流ネック（階段入り口扉、地上への出口扉）が、附室からのものでないなら、それをゴールとする。
▲２▼上記のネックが附室からのものなら、更に上流を探しこのネックに隣接したネックを探す。（附室内に合流がある場合複数見つかる。）
図１４（ａ）に例示した模式図では、「扉Ｒ１」と「扉Ｒ２」の二つの附室への入り口扉が、階避難のゴールに該当し、ここでの流出終了時刻（附室への流入完了時刻）が、この階の階避難終了時刻である。
【００５８】
階避難時間は、出火から避難終了までの時間であるため、値として避難終了時刻そのものになる。（時刻は出火時点を０としたものである）なお、図１４（ａ）に例示した模式図の様に、複数の該当ネックがある場合は、それぞれの避難終了時間を評価しなければならない。
【００５９】
廊下避難時間という概念は、階の外まで（直通階段、階段附室または地上）避難する途中の通路で、煙に曝される危険性が無いかを評価するための時間である。それぞれの避難者が、仮に居室の外までは避難できても、途中の通路で煙に曝される可能性があるのである。
【００６０】
廊下避難時間を求めるためには、階避難のゴールからその上流へ廊下を遡って、通路最上流のネックを検索する必要がある。具体的には、それぞれのゴールを基点にして、居室からのネックが見つかるまで、模式図を上流へ遡り、居室からのネックの手前のネックを探すことである。
【００６１】
廊下避難時間は、次の計算式で算定される時間間隔である。
Ｍａｘ（ゴールでの避難終了時刻　―　通路最上流のネックでの流入開始時刻）
因みに、ここで言う流入開始時刻は、ネックの流入合成関数の最初の時刻である。なお、ゴールの上流に避難経路の合流がある場合、それらを全て検索する必要があるので、上記の式では、複数の通路最上流ネックが見つかる可能性を考慮して、見つかったネックについてのＭａｘ値を採用する。
【００６２】
居室避難では、「出火室の外への避難完了」を以って、居室避難の終了とするので、模式図の末端にあるネックノードを検索すれば良い。（このノードは居室避難における避難先ノードでもある。）居室避難時間は、これらネックのうち最後の避難終了時刻とすれば良い。因みに、居室避難では、廊下避難時間という概念は無いのでこれを計算する必要はない。
【００６３】
指針により定められた許容避難時間の算定方法は、次の表４に示す通りである。
【００６４】
【表４】
2004085948.tif 000006
【００６５】
ネックの滞留計算を行なうと、そこでの最大滞留人数が得られるが、この人数を収容するための十分な面積が、そのネックを有す室（室内ネックの場合はその部分の領域）に確保されていることを確認しなければならない。なお、必要滞留面積の計算は、次の計算式で計算される値である。
【００６６】
必要滞留面積（ｍ２）＝最大滞留人数（人）　×　１人当たり必要滞留面積（ｍ２／人）
上記の１人当たり必要滞留面積は、指針では次のとおり定められる値が使われる。廊下などの第一次安全区画における１人当たり必要滞留面積は、０．３（ｍ２／人）であり、附室やバルコニーなどの第二次安全区画における１人当たり必要滞留面積は０．２（ｍ２／人）である。
【００６７】
滞留面積の評価は、この必要滞留面積と、ネックに設定された設計面積を、比較して次の条件が成立するか否か判定する。
設計面積　≧　必要滞留面積
なお、設計面積が設定されていない（０ｍ２）ネックについては、この評価は行なわない。ただし、避難のゴールとなるネックは、これに拘わらず、無条件に滞留面積の評価を行なう。
【００６８】
因みに、この評価でＮＧとなるという事の意味は、そのネックの前に避難者が溢れて、上流からの避難者の流入に支障を来すという事である。滞留計算を行う過程では、これを一応無視して（面積が充分大きいと仮定することと同等）、上流からの流入をそのまま採用し、一通り最後まで計算が行われる。全ての計算が終了した後、各ネックの滞留計算結果を参照して、そこから最大滞留人数を取得し上記の判定を行なっている。
【００６９】
したがって、滞留面積評価でＮＧとなる様な事態が、どれかのネックで生じている事は、建築設計上の問題も孕むと同時に、避難計算で得られた通りの流れで、避難が行なえることを保証できないという事でもある。逆に言えば、このような箇所が無くなるように、各設計値を決めるということが避難計算を行う目的である。
【００７０】
指針による階避難計算においては、最初に出火室とそれ以外の居室での避難開始時間を算定しておく必要がある。（Ｓ３２でこれを行なっている。）
居室避難計算については、避難開始から避難終了までの時間を問題とするためこれは不要である。
出火室となる居室とその室を通り避難する室（居室内居室）の避難開始時間は、同じ値を採用することになっており、且つ、その計算には、出火室とその居室内居室の総床面積を求める必要がある。
【００７１】
出火室の居室内居室となる部分を検索するためには、出火室からの出口扉に合流する避難経路を上流に辿り、居室ノードを見つける必要がある。（模式図画面上では、出火室の居室内居室には左上隅に黄色の△マークが表示される。）図１４（ｂ）の場合、出火室とその居室内居室の総床面積は、次のように計算される。
総床面積（ｍ２）＝８０ｍ２（居室Ａ）＋１７０ｍ２（居室Ｂ）＝２５０ｍ２
なお、模式図において、避難先に至る避難経路上に出火室が存在しないような場合があるが、この場合は前述のような方法を用いることはできないので、避難先ノードには、出火室の面積を直接設定することが可能にしてある。
【００７２】
模式図中にこの様な避難経路が存在するというのは、階避難計算では、出火室からの避難経路と全く繋がりの無い居室からの避難経路も、同時に評価の対象とせねばならないからである。
避難計算内で行なわれるネックの滞留計算の結果には、次の表６に示す内容が含まれている。
【００７３】
【表６】
2004085948.tif 000007
【００７４】
当該ネックに対する避難計算グラフは、上記の計算結果から簡単に表示することが出来る。すなわち、それぞれの速度関数を積分すれば、対応する累計人数の時系列グラフ（単純増加の折れ線グラフ）が得られ、流入合成と流出の累計人数時系列グラフの差が最大になるところを調べれば、最大滞留人数を得ることが出来る。
【００７５】
なお、この計算結果は、各々のネックの情報として、その滞留計算終了時に格納される。したがって、全体の計算を終了した時点で、任意のネックの滞留計算結果を参照することができ、各々のネックでの避難計算グラフを表示して確認する事が可能である。
【００７６】
図１２は、速度関数およびその合成を示す説明図である。流入、到着および流出の３つの速度関数は、「時刻を変数とする単位時間当たりの流れ（通過人数）（人／秒）の階段関数」として表現するものとする。このようにしておけば、流入と到着の合成は単純に区間値の足し算になる。また、指針の避難計算では、それぞれデジタルに流れの速度が変化することになっているので、累計人数によるよりも、速度による流れの表現が自然でもある。
【００７７】
各々の流れは、有限の時間の内で起こるため、開始時刻より以前のデータ（流れ０）を持つ必要が無い故、正の値で始まり０で終わる階段関数を用いる。また、流れの逆流は無いものとして扱うので、関数の値は常に０以上であるとする。
【００７８】
流入速度関数は前述した速度関数であるが、避難計算や表示処理の便宜のため、前述の関数に次の情報を付加したものである。
▲１▼流入元になるノードへの参照：流入元の名称を表示する、対応するノードを参照するなどの目的に使用する。
▲２▼ネックに至る歩行時間：この時間分をシフトするとネックへの到着速度関数が得られる。これにより個々の流入について、それに対応した到着速度関数を別に持つ必要がない。
【００７９】
図１５は、本発明のシステムによる評価結果（避難時間と必要滞留面積の評価）の出力表示例を示す説明図である。模式図から計算された居室避難および階避難の評価結果は、表形式で避難先ごとに表示される。（図１５は、階避難の例で、階段Ａと階段Ｂが避難先になっている）。図１５の表内に表示された「避難時間」と「最大滞留人数」は、図１６および図１７に例示した避難計算グラフから求められる値である。また、避難時間の判定基準となる許容避難時間は、階避難の場合は、当該階の総床面積から指針に示される算定式で計算された値である。一方、居室避難の場合は、居室内居室を含む居室の面積を使用して同様に計算される値である。（表４を参照）
【００８０】
図１６は、評価の根拠となる避難計算グラフの表示例（１）を示す説明図である。これは階段Ａの前室である附室Ａへの入り口扉（扉Ｒ１）についての避難計算グラフである。図では、当該ネック扉Ｒ１のネック通過能力（単位時間当たりの通過可能人数）が充分大く、ネックへ到着した避難者が、そのまま通過できるため、到着と流出が一致している。また、到着が途中で途切れるので、流出も途中で途切れる結果になっている。
【００８１】
ここで模式図を修正して、当該ネック扉Ｒ１の幅を１．２ｍから０．７ｍに変更して、再度避難計算を行って、避難計算グラフを表示すると、次の図１７のような結果が表示される。図１７は、この場合の評価の根拠となる避難計算グラフの表示例（２）を示す説明図である。
【００８２】
今度は、扉Ｒ１のネック通過能力が低下したため、流出が暫く到着に追付けない時間帯が生じている。その結果、流出の途中での途切れは、０．０６秒間とほぼ無くなっている。また、最大滞留人数は、１５人から１７．４人に増加し、その発生時刻も変化した。しかし、最終的には、流出が到着に追付くため、廊下避難時間と階避難時間に変化は無い。
【００８３】
実際上は適切を欠くが、更に扉幅を小さくすると、到着に流出が追付くことができず、避難時間が長くなってしまう。このような変化は、居室からの避難者の人数増加や居室出口幅の増加などによっても生じる。
【００８４】
次に、ネックの滞留計算についてその詳細を説明する。一つのネック（扉と室内ネック）に注目して見ると、滞留計算を行なうための避難計算グラフ作成の流れは次のようになる。
【００８５】
図１１は、Ｓ６２のネック滞留計算処理を示すフローチャートである。Ｓ９０においては、当該ネックの幅と流動係数からネック通過能力（人／秒）を計算する。Ｓ９１においては、当該ネックへの全流入を一つに合成した流入速度関数を計算する。Ｓ９２においては、到着合成を計算する。即ち、（１）当該ネックへの全流入の各々の到着速度関数を計算する。（２）全到着を一つに合成した到着速度関数を計算する。
【００８６】
Ｓ９３においては、求められらた到着合成とネック通過能力から、当該ネックからの流出速度関数を計算する。Ｓ９４においては、流入合成と流出を比較して最大滞留人数とその発生時刻を計算する。
【００８７】
複数の入り口からの流入がある場合は、ネックの滞留計算を行なう前処理として、それらを合成しなければならない。図１２（ｂ）は、二つの速度関数の合成関数のイメージを示す説明図である。基本的には、図に示したように区間値の加算合成である。
【００８８】
図１３は、到達速度関数および累計人数の時系列グラフの導出を示す説明図である。到着速度関数は、入り口からネックまでの歩行距離およびその間の歩行速度を用いて、流入速度関数から生成することができる。（図１３（ａ）を参照）つまり、ネックまでの歩行時間分だけ流入速度関数をシフトしたものが、その流入に対応する到着速度関数である。（流入速度関数には、付加情報としてこの歩行時間を持っている。）
【００８９】
流入の合成は、それぞれの入り口からの流入速度関数をそのまま合成すれば良いが、到着の合成については、入り口ごとに流入速度関数に上記の時間（歩行時間）分のシフトを施した結果を合成することが必要である。（これを「到着合成」ともいう）
【００９０】
図１３（ｂ）は、速度関数からの累計人数グラフの導出を示す説明図である。流入、到着および流出の現在までの累計人数を得るには、それぞれの速度関数を現在時刻まで積分すれば良い。
時間当たりの通過人数を関数値としているので、図に示すように、任意の時刻の累計人数は、高々区間数個の矩形面積を加算することで求めることができる。また、人数は有限であり何れ必ず終了すべきだから、流入、到着および流出の各速度関数は、その末尾の区間での値は０でなければならない。
【００９１】
ネックからの流出速度関数は、複数の入り口からの到着を合成した到着速度関数（「到着合成」ともいう）と、当該ネックの単位時間当たり通過可能人数（以下「ネック通過能力」という）から生成することができる。
なお、アルゴリズム構築の基本は、「流出が到着の人数を超えないこと、および、ネック通過能力を超えない最大の速度で流出すること」である。
【００９２】
▲１▼流出人数が到着人数を下回っている間は、追付くまでネック通過能力で流出する。
▲２▼流出人数が到着人数に追付いた場合は、次に到着速度が変化するまで現在の到着速度で流出する。従って、この間は流出と到着が一致して推移する。なお、追付いた時刻が到着完了以後であれば、その時点でネックからの流出も終了する。
【００９３】
▲３▼到着と流出とが一致した状態で、到着速度の変化時刻に達した場合は、次の到着速度とネック通過能力のうち小さい方の速度で流出する。因みに、最初はこの状態から始まるが、現在時刻は到着開始時刻であり、流出と到着の累計人数は共に０人の状態にある。
【００９４】
到着速度がネック通過能力以下の場合は、到着速度が再び変化するまで、到着そのまま流出していくので、滞留が発生することなく、到着と流出が一致した状態を維持したまま推移する。
一方、到着速度がネック通過能力を上回る場合は、ネック通過能力でしか流出できないので、その直後から滞留が発生して、流出が到着に追いついていない状態（前００９２項▲１▼）へ遷移する。
なお、到着完了時刻に達したのであれば、前００９２項▲２▼と同様に同時にネックからの流出も終了する。
【００９５】
以上に述べた流出速度関数の生成過程をアルゴリズム化するために、次のような状態を導入する（表５）。また、状態遷移の制御、および流出速度関数の生成に関わる計算に必要な状態変数を同じ表５に示す。
【００９６】
【表５】
2004085948.tif 000008
【００９７】
図１８は、流出速度関数の生成過程内の状態遷移を示す説明図であり、前述した状態と状態変数を用いて、流出速度関数生成過程での状態の遷移条件および遷移を示す。各状態は円と記号で表現し、状態間の遷移は矢印で示している。また、下線付き太字は状態遷移の発火条件を示している。なお、条件が書かれていないものは、残りの条件もしくは無条件の遷移である。
状態遷移に伴う状態変数の変化は、←記号を使用して、左辺に状態変数、右辺に新しい値を示すことで表現している。また、記号Ｔ＊は、流出人数が到着人数に追付く時刻を表している。
【００９８】
流出速度関数への出力は、前項の状態遷移図上で、次に示す流出速度更新ステートメントのタイミングで行なう。（時刻はその時点のＴ値である。）
Ｖ　←　Ｘ
すなわち、次の４つのタイミングで流出速度関数へ流出速度を出力する。
【００９９】
▲１▼状態ＯＮ１で自己遷移するとき　Ｖ　←　Ｖａ（Ｉ）
▲２▼状態ＯＮ１から状態ＵＤへ遷移するとき　Ｖ　←　Ｖｏ
▲３▼状態ＯＮ２から状態ＯＮ１へ遷移するとき　Ｖ　←　Ｖａ（Ｉ）
▲４▼状態Ｅへ遷移するとき　Ｖ　←　０　（流出終了なので速度は０となる）。
【０１００】
上記の内で、▲３▼のケースでは、ちょうど到着速度が変化する時刻に流出が追いついた場合には注意が必要である。その場合は▲３▼の状態ＯＮ２から状態ＯＮ１に遷移するとき、流出速度関数へ流出速度を出力する必要が無い。つまり、出力してもその速度が維持される時間は０秒である。
また、このような状況を考慮すると、▲２▼の状態ＯＮ１から状態ＵＤへ遷移するときも、直前の流出速度と同じになる場合、つまり、ネック通過能力と同じ値なら、流出速度関数へ新たに流出速度を出力する必要は無い。
【０１０１】
最大滞留人数とは、当該ネックを有する室に流入して、未だネックから流出していない人数の最大値である。したがって、流入速度関数から得られる流入人数累計と、流出速度関数から得られる流出人数累計の間の各時刻での差の最大値を求めればよい。また、そのときの時刻が求めるべきその最大滞留発生時刻である。
【０１０２】
先ず、特別なケースとして、流出が開始される時刻が、全避難者が流入を完了した以後である場合、最大滞留人数は流入の合計人数であり、その時刻は流入完了の時刻である。これ以外の場合は、流入と流出に時間的重なりがあるので、その間での差を考慮する必要がある。
【０１０３】
指針に従う計算では、流入も流出も速度がデジタル的に変化するため、上記の図のように、避難計算グラフ上で累計人数が双方とも折れ線になるので、この二つの累計人数の差を調べるには、何れか一方の速度が変化する時刻で行なえば良い。このようにして求めた差の最大値が、最大滞留人数で、そのときの時刻が最大滞留の発生時刻である。
【０１０４】
調べるべき時刻は、両端を含め流出開始から流入終了までの間で速度が変化する時刻である。つまり、流入完了後は、流出と流入の差は、小さくなることがあっても大きくなることはない。また、流入開始から到着開始までは、逆に、差が大きくなることはあっても小さくなることはない。
【０１０５】
図１９は、最大滞留人数の計算を行なうべき時刻の範囲を示す説明図である。塗りつぶした範囲が計算すべき範囲であるが、実際は、矢印で示した速度変化の時刻で、流入と流出の累計人数の差を計算すれば良い。従って、最大滞留の発生時刻もこれらの速度変化時刻の何れかである。（速度関数の各時刻にもなる。）図１９の場合は、時刻ｔ１〜ｔ７の間の７箇所で流入と流出の差を測定することになる。因みに、この場合は時刻ｔ７で最大滞留が発生している。なお、前述の様に、流入と流出とが重なる時間帯がない場合は、最大滞留時刻は流入終了時刻であり、最大滞留人数は避難者累計人数に等しくなる。
【０１０６】
居室は避難者が常時存在する場所では、その室内に均一に人が分散して存在するものと考えて避難計算を行なう。従って、出口扉の付近に避難者が常に存在するものとして扱うことになる。すなわち、避難開始と同時に到着と流出が始まることになる。
ただし、避難開始と同時に在室者全員が出口付近に到着するというのではなく、最も遠い避難者が出口に到着するまでの間、一定の時間当たり人数で到着するものとする。
【０１０７】
また、避難開始と同時に出口からの流出も始まるので、計算上の流入と到着は同じになる。これは即ち、これまで述べた意味で言えば、流入口とネック（流出口）との距離が０と見なすということである。
【０１０８】
図２０は、居室の到着（流入）速度関数のイメージを示す説明図である。前述したように、居室出口からの流出は、上記のように計算された到着速度関数と、居室出口の単位時間当たり通過可能人数（ネック通過能力）から計算することになる。指針による計算では、その出口から最遠の避難者が出口に到着するまでの間、その出口へ避難する領域の避難者が一様にその出口に到着するものとして扱うが、根拠があればそれ以外の速度関数を使用することは可能である。つまり、有限時間帯の階段関数になる限り計算は正常に行なうことが可能である。
【０１０９】
他の室からの避難者が当該室を経由して避難することがない場合の避難計算グラフを検討してみると以下のようになる。
先ず、居室出口のネック通過能力が、室内からの到着速度を下回る場合は、流出の速度はネック通過能力に制約され、室内に滞留が発生することになる。図２１は、ネック通過能力が到着速度を下回る場合の避難計算グラフを示す説明図である。この場合の流出終了時刻は、室内歩行時間によらず、出口（ネック）通過時間に制約されて定まる。
流出終了時刻　＝　避難開始時間　＋　出口通過時間
【０１１０】
一方、居室出口のネック通過能力が、室内からの到着速度を上回る場合は、室内に滞留が発生せず到着そのまま流出する。図２２は、ネック通過能力が到着速度を上回る場合の避難計算グラフを示す説明図である。この場合の流出終了時刻は、出口通過時間にはよらず、最遠の避難者の歩行時間に制約されて定まる。
流出終了時刻　＝　避難開始時間　＋　最遠の避難者の歩行時間
【０１１１】
【発明の効果】
以上説明したように、この発明によれば、建築物内の避難経路を示す模式図（居室、歩行経路、ネック（出口扉、室内ネック）および出口を順次接続したもの）を入力する手段と、入力された模式図に基づき、少なくとも避難時間と最大滞留人数を算出する避難シミュレーション手段と、避難シミュレーションの結果を出力する出力手段とを備えているので、使用者が対象とする場所の模式図を作成して、各ノードのパラメータを入力および変更することにより、システムが自動的に指針に沿った避難のシミュレーションを行い、評価結果を出力することができ、熟練者でなくとも容易に避難時間と通路（ネックを有す室）の必要滞留面積のシミュレーションを行うことができるという効果がある。
【図面の簡単な説明】
【図１】本発明のシステムの処理の概要を示すフローチャートである。
【図２】本発明のシステムのプログラムを実行するパソコン３０のハードウェア構成を示すブロック図である。
【図３】図１のＳ１０の模式図入力処理を示すフローチャートである。
【図４】Ｓ１１の避難計算処理を示すフローチャートである。
【図５】Ｓ３８のカレントノード避難計算処理を示すフローチャート（１）である。
【図６】Ｓ３８のカレントノード避難計算処理を示すフローチャート（２）である。
【図７】Ｓ４９のネックの滞留計算処理を示すフローチャートである。
【図８】Ｓ６１の流出速度の計算処理を示すフローチャート（１）である。
【図９】Ｓ６１の流出速度の計算処理を示すフローチャート（２）である。
【図１０】Ｓ６１の流出速度の計算処理を示すフローチャート（３）である。
【図１１】Ｓ６２のネック滞留計算処理を示すフローチャートである。
【図１２】速度関数およびその合成を示す説明図である。
【図１３】到着速度関数および累計人数グラフの導出を示す説明図である。
【図１４】３つの居室（居室Ａ，ＢおよびＣ）から二つの階段（階段ＡおよびＢ）までの避難経路、および出火室に居室内居室を含む場合の避難経路を示した模式図の例を示す説明図である。
【図１５】本発明のシステムによる評価結果の出力表示例を示す説明図である。
【図１６】評価の根拠となる避難計算グラフの表示例（１）を示す説明図である。
【図１７】評価の根拠となる避難計算グラフの表示例（２）を示す説明図である。
【図１８】流出速度関数の生成過程の状態遷移を示す説明図である。
【図１９】最大滞留人数の計算を行なうべき時刻の範囲を示す説明図である。
【図２０】居室出口への到着（流入）速度関数のイメージを示す説明図である。
【図２１】居室出口の通過能力が到着速度を下回る場合の各速度関数と居室出口での避難計算グラフを示す説明図である。
【図２２】居室出口の通過能力が到着速度を上回る場合の各速度関数と居室出口での避難計算グラフを示す説明図である。
【符号の説明】
３０…パソコン、４１…ディスプレイ、４２…キーボード、４３…マウス、４４…プリンタ
【図１】
2004085948.tif 000009
【図２】
2004085948.tif 000010
【図３】
2004085948.tif 000011
【図４】
2004085948.tif 000012
【図５】
2004085948.tif 000013
【図６】
2004085948.tif 000014
【図７】
2004085948.tif 000015
【図８】
2004085948.tif 000016
【図９】
2004085948.tif 000017
【図１０】
2004085948.tif 000018
【図１１】
2004085948.tif 000019
【図１２】
2004085948.tif 000020
【図１３】
2004085948.tif 000021
【図１４】
2004085948.tif 000022
【図１５】
2004085948.tif 000023
【図１６】
2004085948.tif 000024
【図１７】
2004085948.tif 000025
【図１８】
2004085948.tif 000026
【図１９】
2004085948.tif 000027
【図２０】
2004085948.tif 000028
【図２１】
2004085948.tif 000029
【図２２】
2004085948.tif 000030