.. index:: contents, directive; contents

==================
VII エラーメッセージ
==================

:ref:`Release 2024.11 <rls2024_11>` より，エラーメッセージの出力方法を変更しました。

エラーメッセージは，以下のように出力されます。

- **invalid_argument**
    不正な引数。input設定パラメータに関する不備。

- **logic_error**
    プログラムの実行前に検出可能なエラー。データ不整合に関する不備。

    例：スライド辺が設定されていないなど。

- **runtime_error**
    プログラム実行時にのみ検出可能なエラー。

    例：メモリーアロケーションエラーや右辺項ゼロなど。

エラーメッセージは，以下のようなフォーマットで出力されます。

- "ERROR: " + message, "check key" or "check below" or "key is wrong." or "No %s key found."

-----------------
エラーメッセージの対処法
-----------------
多くの場合，エラーメッセージは入力データの不備，不整合で発生します。

その原因として，以下の二つが考えられます。

- inputデータが不十分な場合
    入力値の間違い，パラメータ設定不足などが考えられます。

    *check* ファイルに inputデータがリダイレクトされ，エラーが発生した場合はエラー個所を示していますのでご確認ください。

- 入力メッシュデータに不備がある場合
    メッシュデータの不整合，メッシュデータの不備などが考えられます。
    例えば，メッシュ内部の二重節点，節点の不一致，メッシュの重複などが考えられます。

    *boundary_surface* ファイルで，境界条件の確認ができますので，エラー発生時に確認することをお勧めします。

エラーの多くは，invalid_argument または logic_error で出力されます。

まれに入力データの不備があったとしても，ICCG法の反復計算まで進みますが，収束しない，発散してしまうケースがあります。
この場合に原因を特定するのはとても難しいですが，経験的に入力メッシュデータに不備があることが多いです。
その場合は，まずは入力メッシュデータ， *boundary_surface*， *post_geom* などのメッシュデータ関連を確認してください。

.. note:: 
    また，エラーメッセージを出力せずに強制終了 (コアダンプなど) する場合もあります。この場合は，プログラムのバグであることが多いです。もしこのような場合があれば，お手数ですが，サポート窓口までご連絡ください。

------------------
invalid_argument
------------------
不正な引数という意味です。input設定パラメータに不備がある場合，出力されるエラーメッセージです。

^^^^^^^^^^^^^^^^^^
ライセンスに関するエラーメッセージ
^^^^^^^^^^^^^^^^^^
``pyemsol`` のライセンスに関するエラーメッセージは，以下のように出力されます。

- "This EMSolution license does not allow 'Parallel' calculations.\nParallel version is necessary."
    EMSolutionのライセンスが，並列計算を許可していない場合に出力されます。

- "wrong input - parallel_type"
    EMSolutionのライセンスが，並列計算を許可していない場合に出力されます。

- "This EMSolution license does not allow 'Parallel' calculation more than %d parallels."
    EMSolutionのライセンスが，契約ライセンス鵜よりも設定した並列計算数が多い場合に出力されます。

- "This EMSolution license does not allow temperature dependent analysis calculations. Temperature dependent analysis module is necessary";
    EMSolutionのライセンスが，温度依存解析 :paramdef:`TEMP_DEPEND(2)` を許可していない場合に出力されます。

- "CYCLE_AC is needed >0. value for TRANSIENT & DIELECTRIC_CONDUCTIVITY calculation"
    EMSolutionのライセンスが，Darwin modelでの交流解析 :paramdef:`AC(2)` を初期値としたDarwin modelの過渡解析 :paramdef:`TRANSIENT(2)` 計算において，:paramdef:`CYCLE_AC(7)` の値が設定されていない場合に出力されます。

- "Total number of nodes =" + node_count + " Number of nodes exceeds limit value =" + code_protection.max_nodes
    メッシュデータファイルのノード数が，EMSolutionのライセンスで許可されているノード数を超えた場合に出力されます。

- "Total number of elements =" + element_count + " Number of elements exceeds limit value =" + code_protection.max_elements
    メッシュデータファイルの要素数が，EMSolutionのライセンスで許可されている要素数を超えた場合に出力されます。

- "EMSolution Lite allows to run GEOMETRY = 1 or 2 only."
    EMSolution Liteのライセンスで許可されているGEOMETRYの値が不正な場合に出力されます。
    EMSolution Liteのライセンスでは，GEOMETRYは1または2に設定する必要があります。

- "EMSolution Lite protection key allows to run EMSolution Lite feature."
    EMSolution Liteのライセンスでは，EMSolution Liteの機能のみを使用する必要があります。

- "This EMSolution license expired on the date: " + yyyy_mm_dd
    EMSolutionのライセンスが期限切れの場合に出力されます。 

- "This EMSolution license does not allow STATIC calculations.\STATIC module is necessary."
    EMSolutionのライセンスが :paramdef:`STATIC(2)` を使用した計算を許可していない場合に出力されます。

- "This EMSolution license does not allow AC calculations.\AC module is necessary."
    EMSolutionのライセンスが :paramdef:`AC(2)` を使用した計算を許可していない場合に出力されます。

- "This EMSolution license does not allow TRANSIENT calculations.\TRANSIENT module is necessary."
    EMSolutionのライセンスが :paramdef:`TRANSIENT(2)` を使用した計算を許可していない場合に出力されます。

- "This EMSolution license does not allow MOTION calculations.\MOTION module is necessary."
    EMSolutionのライセンスが :paramdef:`MOTION(2)` を使用した計算を許可していない場合に出力されます。

- "This EMSolution license does not allow DEFORM calculations.\DEFORM module is necessary."
    EMSolutionのライセンスが :paramdef:`DEFORM_MOTION(19.3)` を使用した計算を許可していない場合に出力されます。

- "This EMSolution license does not allow STEADY_CURRENT calculations.\STEADY_CURRENT module is necessary."
    EMSolutionのライセンスが :paramdef:`STEADY_CURRENT(2)` を使用した計算を許可していない場合に出力されます。

- "This EMSolution license does not allow TEMPERATURE_DEPEND calculations.\TEMPERATURE_DEPEND module is necessary."
    EMSolutionのライセンスが :paramdef:`TEMP_DEPEND(2)` を使用した計算を許可していない場合に出力されます。

- "This EMSolution license does not allow NETWORK calculations. NETWORK module is necessary."
    EMSolutionのライセンスが :paramdef:`NETWORK(17.9)` を使用した計算を許可していない場合に出力されます。

- "This EMSolution license does not allow dynamic motion calculations. DYNAMIC module is necessary."
    EMSolutionのライセンスが :paramdef:`運動方程式入力(18.6)` を使用した計算を許可していない場合に出力されます。

- "This EMSolution license does not allow 'PSIM Coupling' calculations. PSIM_Coupling module is necessary."
    EMSolutionのライセンスが :paramdef:`PSIM，MATLAB/Simulink 連成解析(18.4)` を使用した計算を許可していない場合に出力されます。

- "This EMSolution license does not allow 'Simulink Coupling' calculations.\nPSIM_Coupling module is necessary."
    EMSolutionのライセンスが :paramdef:`PSIM，MATLAB/Simulink 連成解析(18.4)` を使用した計算を許可していない場合に出力されます。

- "This EMSolution license does not allow 'anisotropic2D Coupling' calculations. nANISOTROPIC2D module is necessary."
    EMSolutionのライセンスが :paramdef:`ANISOTROPY2D(16.1)` を使用した計算を許可していない場合に出力されます。

- "This EMSolution license does not allow JilesAtherton calculations.\JilesAtherton module is necessary."
    EMSolutionのライセンスが :paramdef:`J_A_Model(16.1)` を使用した計算を許可していない場合に出力されます。

- "This EMSolution license does not allow Hysteresis calculations.\Hysteresis module is necessary."
    EMSolutionのライセンスが :paramdef:`HYSTERESIS(16.1)` を使用した計算を許可していない場合に出力されます。

- "This EMSolution license does not allow PM_demagnetization calculations.\nPM_demagnetization module is necessary."
    EMSolutionのライセンスが :paramdef:`MAGNET(17.7)` = 4: 減磁解析 を使用した計算を許可していない場合に出力されます。

- "This EMSolution license does not allow 'CADAS_IO' calculations.\nCADAS_IO module is necessary."
    EMSolutionのライセンスが :paramdef:`INPUT_MESH_FILE(10.1)` = 6: ``CADAS`` を使用した計算を許可していない場合に出力されます。

- "This EMSolution license does not allow 'Parallel' calculations.\nParallel module is necessary."
    EMSolutionのライセンスが :paramdef:`PARALLEL_NO(4)` を使用した計算を許可していない場合に出力されます。


^^^^^^^^^^^^^^^^^^
入力パラメータに対するエラーメッセージ
^^^^^^^^^^^^^^^^^^

- "input is insufficient."
    input.jsonのデータが不十分な場合に出力されます。

- "Error in card No." + CARD_NO + " in file " + inputfilename + " Job stops."
    *input* のデータが不正な場合に出力されます。

- "Please add release Number larger than 2024.05 at initial of input file."
    inputデータのリリース番号 :paramdef:`0_Release_Number` が不正な場合に出力されます。

- "EMSolution does not allow 'STATIC=1 and TRANSIENT=1' calculations.\nSet correctly 'STATIC=1 and TRANSIENT=0' or 'STATIC=0 and TRANSIENT=1'.\n"
    :paramdef:`STATIC(2)` と :paramdef:`TRANSIENT(2)` の両方が1に設定されている場合に出力されます。

- " Too few STEP_INTERVAL to convert FFT!"
    FFT変換に必要なステップ数 :paramdef:`NO_STEPS_N(8)` が不足している場合に出力されます。

- "cyclic data and motion data are compatible."
    :paramdef:`CYCLIC(8)` データと :paramdef:`MOTION(19)` が互換性がない場合に出力されます。

------

- "MOTION data is invalid. Motion must be one directional."
    :paramdef:`MOTION(19)` データは一次元方向の運動のみが許可されますので，それ以上の方向に設定されている場合に出力されます。

- "MOTION ID " + no + " is not found."
    :paramdef:`MOTION(19)` データのIDが見つからない場合に出力されます。

------

- "Potential correction (SOURCE_CORRECTION = 0) of Polynomial TP-EEC needs SLIDE_MOTION=ON!"
    :paramdef:`SOURCE_CORRECTION(8)` が0に設定されている場合に出力されます。

- "need to set FUNDAMENTAL_FREQUENCY > 0 for dq-TP-EEC!"
    :paramdef:`FUNDAMENTAL_FREQUENCY(8)` が0，もしくは設定されていない場合に出力されます。

------

- "MagneticProperty type " +  type + " is not allowed"
    :paramdef:`MagneticProperty(16.1)` のタイプ ( :paramdef:`ANISOTROPY(16.1)` など) のオプションが不正な場合に出力されます。

- "mat_property " + id + " is not found."
    :paramdef:`MAT_ID(16.1)` データのIDが見つからない場合に出力されます。

- "mat_property " + id + " is not found  to v_element " v_element_id
    メッシュデータファイルに定義されているプロパティ番号が，inputの :paramdef:`MAT_ID(16.1)` データのIDが見つからない場合に出力されます。

- "mat_property " + id + " is overlapped in input file!" 
    :paramdef:`MAT_ID(16.1)` データのIDが重複している場合に出力されます。

- "smat_property " + id + " is overlapped in input file!"
    :paramdef:`SMAT_ID(16.2)` データのIDが重複している場合に出力されます。

- "Field source is not found for Field_source ID " + id
    :paramdef:`17_Field_Source(17)` データのIDが見つからない場合に出力されます。

------

- "Field source data series_no " + no + " is not found."
    :paramdef:`17_Field_Source(17)` データのID :paramdef:`SERIES_ID(17.1)` が見つからない場合に出力されます。

- "Power supply " + id + " is connected to sources in rotor and stator regions."
    :paramdef:`POWER_SUPPLIES(17.8)` データのID :paramdef:`SERIES_IDS(17.8)` が見つからない場合に出力されます。

- "Network element ID=" + id + " cannot be found."
    :paramdef:`NETWORK(17.9)` データのID :paramdef:`ID(17.9.1)` が見つからない場合に出力されます。

- " Need to NON_LINEAR=1 for MAGNET INPUT_TYPE=4!"
    :paramdef:`MAGNET(17.7)` の入力タイプが4に設定されている場合， :paramdef:`NON_LINEAR(2)` =1と設定されている必要があります。

- " Need to NON_LINEAR=1 and TEMP_DEPEND=1 for MAGNET INPUT_TYPE=5!"
    :paramdef:`MAGNET(17.7)` の入力タイプが5に設定されている場合， :paramdef:`NON_LINEAR(2)` =1と :paramdef:`TEMP_DEPEND(2)` =1と設定されている必要があります。

- "no_data of MAGNET does not equal to no_input_elements in initial_magnetization.dat file"
    :paramdef:`MAGNET(17.7)` :paramdef:`INPUT_TYPE(17.7)` =1:要素ごとに磁化入力 のデータの数が，*initial_magnetization.dat* のデータの数と一致しない場合に出力されます。

------

- "B_H_curve No. " + no + " is not found."
    :paramdef:`BH_CURVE_ID(20)` データのIDが見つからない場合に出力されます。

- "B_H_curve2D No. " + no + " is not found."
    :paramdef:`BH_2D_ID(20.3)` データのIDが見つからない場合に出力されます。

- "No initial_magnetization.dat file. job is stopped."
    *initial_magnetization.dat* ファイルが見つからない場合に出力されます。

- "Temperature data for element No. " + no + " is not found"
    :paramdef:`TEMPERATURE(20.2)` のデータがメッシュデータファイルに見つからない場合に出力されます。

- "Non support input type of temperature.dat "
    *temperature.dat* のデータが不正な場合に出力されます。

- "Number of elements in temperature.dat is not equal to necessary number " + no
    *temperature.dat* のデータの要素数とメッシュデータファイルの対象要素数が一致しない場合に出力されます。

- "Temparature_Dependent_BH_curve ID " + id + " is not found"
    :paramdef:`TEMP_DEPEND_BH_CURVE_ID(16.1)` データのIDが見つからない場合に出力されます。

- "Temperature_Dependent_sigma_curve ID " + id + " is not found"
    :paramdef:`21_TempDepend_Sigma_Curve(21)` データのIDが見つからない場合に出力されます。

- "Magnet_BH_curve ID " + id + " is not found."
    :paramdef:`MAGNET_BH_CURVE_ID(20.4)` データのIDが見つからない場合に出力されます。

- "Time Evolution ID " + id + " is not found."
    :paramdef:`18_Time_Function(18)` データのIDが見つからない場合に出力されます。

------------------
logic_error
------------------
プログラムの実行前に検出可能なエラーです。入力データに不整合がある場合に発生します。

- "error in calculate_element_matrices"
    要素行列の計算に失敗した場合に出力されます。

-----

- "file " + filename + " cannot be opened."
    ファイルが開けない場合に出力されます。
    例えば，*input.json* が見つからない場合に出力されます。

- "mat_id is not defined in element No. " + id
    メッシュデータファイルに定義されたプロパティ番号が不正（例えば -1）の場合に出力されます。

- "Node No." + node_no + " is input in double"
    メッシュデータファイルに定義された要素を構成する節点IDが二重で定義されている場合に出力されます。

- "Node " + node_id + " is not found for element No." + elem_id
    メッシュデータファイルに定義された要素を構成する節点IDが見つからない場合に出力されます。

- "v_element No. " + no + " is not included in the volumeElementList"
    :paramdef:`GAP_ELEMENT(16.2)` 使用時に，ギャップ要素と接続する体積要素が見つからない場合に出力されます。

- "Node " + id + " is not found for element No. " + id + " in translate_2D_to_3D"
    :paramdef:`2D_to_3D_expansion` 2次元メッシュデータを3次元メッシュデータに変換する際に，ノードが見つからない場合に出力されます。

- "Element No." + id + ", type" + type + " is not allowable."
    :paramdef:`2D_to_3D_expansion` 2次元メッシュデータを3次元メッシュデータに変換する際に，メッシュデータの要素タイプが不正な場合に出力されます。

- "Element No." + id + ", type" + type + " is not allowable. The element contacting to the axis in one point."
    :paramdef:`2D_to_3D_expansion` 回転方向に積み上げて2次元メッシュデータを3次元メッシュデータに変換する際に，作成された三次元メッシュがZ一節点のみがZ軸上になっている場合に出力されます。

-----

- "Surface Element for flux_loop No." + no + " is not found."
    :paramdef:`MAG_FLUX(11)` で定義したフラックスループの面要素が見つからない場合に出力されます。

- "PHICOIL: SMAT is not found!"
    :paramdef:`PHICOIL(17.4)` で定義したコイルの面要素のプロパティが見つからない場合に出力されます。

- "DCCURR: SMAT is not found!"
    :paramdef:`DCCURR(17.5)` で定義した面要素のプロパティが見つからない場合に出力されます。

- "EPOTSUF: SMAT is not found!"
    :paramdef:`EPOTSUF(17.10)` で定義した面要素のプロパティが見つからない場合に出力されます。

- "SDEFCOIL: SMATs are not found!"
    :paramdef:`SDEFCOIL(17.3)` で定義したコイルの面要素のプロパティが見つからない場合に出力されます。

- "Error in SDEFCOIL( " + id + "-th series, " + part_id + "-th part, " + error_surface + "-th face)      Possibly, the face is inverted."
    :paramdef:`SDEFCOIL(17.3)` で定義したコイルの面要素が逆向きに定義されている場合に出力されます。

- "GCE: Edge of element is ZERO"
    :paramdef:`GCE(17.1.3)` で定義した六面体のエッジの長さが0の場合に出力されます。

- "Meshed_COIL: Element in COIL mesh is not linear hexahedral."
    Meshed_COIL :paramdef:`MESH(17.1.7)` で定義したコイルメッシュが線形六面体要素でない場合に出力されます。
..
    - "EXMAG: The number of elements in the mesh and magnetization do not match."
        :paramdef:`EXMAG(17.1.X)` で定義したメッシュと磁化データの要素数が一致しない場合に出力されます。
..

- "No set Field_sources in CIRCUIT or NETWORK, id=" + id
    :paramdef:`CIRCUIT(17.8)` または :paramdef:`NETWORK(17.9)` で定義した電流磁場ソース :paramdef:`17_Field_Source(17)` が見つからない場合に出力されます。

- "NETWORK ID " + id + " is overlapped in input file!"
    :paramdef:`NETWORK(17.9)` で定義した要素のIDが重複している場合に出力されます。

- "The network element ( ID=" + ID + " ) does not close a loop."
    :paramdef:`NETWORK(17.9)` で定義した電気回路がグラフ理論によるループを閉じていない場合に出力されます。


----

- "Failed to parse expression: " + expression_str
    数式入力 :paramdef:`MATH_EQ(18.5)`, :paramdef:`MATH_EQ(18.6)`, :paramdef:`MATH_EQ(18.6.3)` の数式が不正な場合に出力されます。

- "Parser error: Evaluation error for function '") + udf + "' :\n Undefined result in point: "
    :ref:`Appendix_1_Equation_Format` で定義した数式の評価に失敗した場合に出力されます。

- "Parser error : Wrong function variables in the definition : ") + equation + "        One or several from:"
    :ref:`Appendix_1_Equation_Format` で定義した数式の変数が不正な場合に出力されます。

他にも :ref:`Appendix_1_Equation_Format` で定義した数式の評価に失敗した場合にエラーメッセージが出力されます。

----

- "elements in properties are not polynominal."
    :paramdef:`TP_EEC_OPTION(8)` で多相交流簡易TP-EEC法を使用する場合に :paramdef:`MAT_IDS_IN_PHASE(8)` で定義したプロパティ同士が多相交流周期境界条件を満たしていない場合に出力されます。

- "potentials in elements are not polynomial.[0]: " + count0 " != [" + j + "] :" + countj
    :paramdef:`TP_EEC_OPTION(8)` で多相交流簡易TP-EEC法を使用する場合に :paramdef:`MAT_IDS_IN_PHASE(8)` で定義した多相交流周期境界条件を満たすべきプロパティ内の要素数が一致しない場合に出力されます。

----

- "initial_solution cannot be read from file old_solutions " + step_no + ", " + read_step_no  
    リスタート解析時に， :paramdef:`INITIAL_STEP(7)` で指定したステップ番号が， *old_solutions* ファイル内にそのステップ番号が見つからない場合に出力されます。

- "Edge number " + no + " in file old_solutions is greater than no_edges " + no_edges
    リスタート解析時に， *old_solutions* ファイルのエッジ数が，メッシュデータファイルのエッジ数よりも大きい場合に出力されます。

- "Node number " + no + " in file potentials is greater than no_nodes " + no_nodes
    リスタート解析時に， *old_solutions* ファイルのノード数が，メッシュデータファイルのノード数よりも大きい場合に出力されます。

- "Node data in old_solutions is conflict for Node No." + no
    リスタート解析時に， *old_solutions* ファイルのノードデータが一致しない場合に出力されます。

- "Power supply data in old_solutions is conflict for Power supply No." + no
    リスタート解析時に， *old_solutions* ファイルの電源データ :paramdef:`POWER_SUPPLIES(17.8)` が一致しない場合に出力されます。

- "Network element data in old_solutions is conflict for Network element No." + no
    リスタート解析時に， *old_solutions* ファイルのネットワーク要素データ :paramdef:`NETWORK(17.9)` が一致しない場合に出力されます。

- "Capacitor voltage data in old_solutions is conflict for Elem No." + no
    リスタート解析時に， *old_solutions* ファイルのキャパシタ電圧データ :paramdef:`C(17.9)` が一致しない場合に出力されます。

- "Edge data in old_solutions is conflict for Edge No." + no
    リスタート解析時に， *old_solutions* ファイルのエッジデータが一致しない場合に出力されます。

- "Edge number " + no + " in file potentials is greater than no_edges " + no
    リスタート解析時に， *potentials* ファイルのエッジ数が，メッシュデータファイルのエッジ数よりも大きい場合に出力されます。

- "Node number " + no + " in file potentials is greater than no_nodes " + no
    リスタート解析時に， *potentials* ファイルのノード数が，メッシュデータファイルのノード数よりも大きい場合に出力されます。

- "Power_supply id_no " + id_no + " is not found"
    リスタート解析時に， *potentials* ファイルの :paramdef:`POWER_SUPPLIES(17.8)` のIDが見つからない場合に出力されます。

- "File load_vector is incorrect."
    *load_vector* ファイル (行列方程式の右辺項) のデータが不正な場合に出力されます。

----

- "Sliding edges do not detect by LINE_INPUT."
    スライド運動解析時 :paramdef:`SLIDE_MOTION(19.2)` の :paramdef:`LINE_INPUT(14)` で定義した線分上にスライド辺となるエッジが見つからない場合に出力されます。

- "Sliding edges do not detect by MAT_ID=" + id
    スライド運動解析時 :paramdef:`SLIDE_MOTION(19.2)` の :paramdef:`SLIDE_MAT_ID(14)` で定義した辺要素上にスライド辺となるエッジが見つからない場合に出力されます。

- "Sliding edges do not connect."
    スライド運動解析時 :paramdef:`SLIDE_MOTION(19.2)` で抽出されたスライド辺が接続されていない場合に出力されます。

- "Sliding edges do not detect."
    スライド運動解析時 :paramdef:`SLIDE_MOTION(19.2)` の :paramdef:`LINE_INPUT(14)` で定義した線分上にスライド辺となるエッジが見つからない場合に出力されます。

- "Something is wrong in definition of sliding face."
    スライド運動解析時 :paramdef:`SLIDE_MOTION(19.2)` の解析時に，移動量に伴う補間面の抽出がうまくできなかったときに出力されます。

- "ERROR in get_cyclic_edge   start_node=" + start_node + ", end_node = " + end_node
    スライド運動解析時 :paramdef:`SLIDE_MOTION(19.2)` の解析時に，周期境界面のEdgeが見つからない場合に出力されます。

..
    - "Sliding edges of moving direction do not detect by MAT_ID=" id
        二次元不整合接続 :paramdef:`QUAD_TRI(4)` =2 の :paramdef:`SLIDE_MAT_ID(14)` で定義した辺要素上にスライド辺となるエッジが見つからない場合に出力されます。

    - "Sliding edges of moving direction do not connect."
    二次元不整合接続 :paramdef:`QUAD_TRI(4)` =2 で抽出されたスライド辺が接続されていない場合に出力されます。
.. 

----

- "Node data for ID=" + no + " is not found in deform_mesh\n"
    変形運動 :paramdef:`DEFORM_MOTION(19.3)` の入力メッシュファイル *deform_mesh* に入力メッシュファイル *pre_geom* と同じ節点IDが見つからない場合に出力されます。

- "Node ID=" + id + " is not connected to FE mesh in control volume element"
    変形運動 :paramdef:`DEFORM_MOTION(19.3)` の :paramdef:`CONTROL_VOLUME_ID(19.3)` で定義した制御体要素の節点に不備がある場合に出力されます。

----

- "time step " + no + " cannot be read from file_solutions"
    ポスト処理時に， *solutions* ファイルから :paramdef:`OUTPUT_STEP_SET(9)` で指定したステップ番号が見つからない場合に出力されます。

----

- "[CodeMeter] Checking out " + cm_product + " license error = " + cmerror
    CodeMeterのライセンスチェックに失敗した場合に出力されます。

--------------
runtime_error
--------------
プログラム実行時にのみ検出可能なエラーです。メモリーアロケーションエラーや右辺項ゼロなど，プログラムの実行中に発生するエラーです。


- "Residual has NaN"
    収束計算時に，残差がNaN (Not a Number) になった場合に出力されます。
    例えば，行列方程式の右辺項がゼロになった場合などに出力されます。

-----

- "calloc error file:" + finename + ", size:" + size * length
    メモリーの確保に失敗した場合に出力されます。デバッグ用として，ソースファイル名とサイズが出力されます。
    大規模なモデルの計算時に，計算マシンのメモリーが不足しているに出力されます。

- "error in create_linked_list_with_buffer: size conflict. size = " + size + ", buffer->size
    リストの作成に失敗した場合に出力されます。デバッグ用として，確保したメモリーのサイズとリストのサイズが一致しない場合に出力されます。

- "Error in blocked_fseek"
    *solutions* ファイルなどのバイナリファイル（中間ファイル）の読み込みに失敗した場合に出力されます。

-----

- "Location error in matrix i=" + i + ", j = " + j
    係数行列の要素の位置が不正な場合に出力されます。
    例えば，有限要素メッシュの内部に二重節点がある場合などに出力されます。

- "Location error in source matrix i=" + i + ", j = " + j
    右辺項行列の要素の位置が不正な場合に出力されます。
    例えば，有限要素メッシュの内部に二重節点がある場合などに出力されます。

- "Zero division Incomplete Cholesky Decomposition at " + ierror
    行列のCholesky分解に失敗した場合に出力されます。
    例えば，行列の対角要素がゼロでゼロ割がおきた場合などに出力されます。

- " RHS of equation=0, No source term is given. Job stops!"
    右辺項行列の要素がゼロで，ソース項が与えられていない場合に出力されます。
    
- "Symmetric matrix dimension( " + dimension + " ) is less than 0."
    対称行列の次元が0以下の場合に出力されます。
    表示されるケースはほとんどありません。

- "Symmetric matrix is singular at k=" + key
    対称行列が特異行列の場合に出力されます。
    表示されるケースはほとんどありません。

------

- "Error in File ") + pre_geom + " near data.  CARD " + string
    メッシュデータファイルの読み込みに失敗した場合に出力されます。
    例えば，メッシュデータファイルのフォーマットが不正な場合などに出力されます。

- " initial_solution cannot be read from file old_motion"
    :paramdef:`運動方程式入力(18.6)` リスタート解析時に， *old_motion* ファイルが見つからない場合に出力されます。

- "time step " + no + " cannot be read from file_solutions"
    ポスト処理時に， *solutions* ファイルから :paramdef:`OUTPUT_STEP_SET(9)` で指定したステップ番号が見つからない場合に出力されます。

----

- "symmetry matrices in symmetry  cannot be allocated"
    :paramdef:`B_INTEG(11)` 対称行列のメモリー確保に失敗した場合に出力されます。


------

- "Terminated by user request"
    ``pyemsol`` 出の計算時に，ユーザーが強制終了した場合に出力されます。
