Generated by Cython 0.29.32

Yellow lines hint at Python interaction.
Click on a line that starts with a "+" to see the C code that Cython generated for it.

Raw output: fil_result.c

 001: """
 002: Class for the Fil results
 003: """
+004: import re
  __Pyx_TraceLine(4,0,__PYX_ERR(0, 4, __pyx_L1_error))
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_re, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_re, __pyx_t_1) < 0) __PYX_ERR(0, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 005: import cython
 006: 
+007: import numpy as np
  __Pyx_TraceLine(7,0,__PYX_ERR(0, 7, __pyx_L1_error))
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 7, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+008: from tqdm import tqdm
  __Pyx_TraceLine(8,0,__PYX_ERR(0, 8, __pyx_L1_error))
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_tqdm);
  __Pyx_GIVEREF(__pyx_n_s_tqdm);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_tqdm);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_tqdm, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_tqdm); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_tqdm, __pyx_t_1) < 0) __PYX_ERR(0, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 009: 
+010: from .model import Model
  __Pyx_TraceLine(10,0,__PYX_ERR(0, 10, __pyx_L1_error))
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_s_Model);
  __Pyx_GIVEREF(__pyx_n_s_Model);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Model);
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_model, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_Model); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Model, __pyx_t_2) < 0) __PYX_ERR(0, 10, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+011: from .nodes import Node2D, Node3D
  __Pyx_TraceLine(11,0,__PYX_ERR(0, 11, __pyx_L1_error))
  __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_Node2D);
  __Pyx_GIVEREF(__pyx_n_s_Node2D);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_Node2D);
  __Pyx_INCREF(__pyx_n_s_Node3D);
  __Pyx_GIVEREF(__pyx_n_s_Node3D);
  PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_Node3D);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_nodes, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Node2D); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Node2D, __pyx_t_1) < 0) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Node3D); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Node3D, __pyx_t_1) < 0) __PYX_ERR(0, 11, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+012: from .elements import ELEMENTS, N_INT_PNTS
  __Pyx_TraceLine(12,0,__PYX_ERR(0, 12, __pyx_L1_error))
  __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_s_ELEMENTS);
  __Pyx_GIVEREF(__pyx_n_s_ELEMENTS);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_ELEMENTS);
  __Pyx_INCREF(__pyx_n_s_N_INT_PNTS);
  __Pyx_GIVEREF(__pyx_n_s_N_INT_PNTS);
  PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_N_INT_PNTS);
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_elements, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_ELEMENTS); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_ELEMENTS, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_N_INT_PNTS); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_N_INT_PNTS, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 013: 
+014: if cython.compiled:
  __Pyx_TraceLine(14,0,__PYX_ERR(0, 14, __pyx_L1_error))
  __pyx_t_3 = (1 != 0);
  if (__pyx_t_3) {
/* … */
    goto __pyx_L2;
  }
+015:   print("Cython compiled")
    __Pyx_TraceLine(15,0,__PYX_ERR(0, 15, __pyx_L1_error))
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* … */
  __pyx_tuple__13 = PyTuple_Pack(1, __pyx_kp_u_Cython_compiled); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(0, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__13);
  __Pyx_GIVEREF(__pyx_tuple__13);
 016: else:
+017:   print("Cython not compiled!")
  __Pyx_TraceLine(17,0,__PYX_ERR(0, 17, __pyx_L1_error))
  /*else*/ {
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_L2:;
 018: 
 019: 
 020: @cython.cclass
 021: class FilParser:
 022:     """
 023:     Parse and store the data from a *.fil file.
 024: 
 025:     Parameters
 026:     ----------
 027:     records : list(str)
 028:         List of the imported records of the *.fil file
 029: 
 030:     Attributes
 031:     ----------
 032:     _elem_out_list : list
 033:         List of element/node numbers that correspond to the following output records
 034: 
 035:     """
 036: 
 037:     PARSE_MAP = {
+038:         1: ("_parse_elem_header", []),
  __Pyx_TraceLine(38,0,__PYX_ERR(0, 38, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyDict_NewPresized(28); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_elem_header);
  __Pyx_GIVEREF(__pyx_n_u_parse_elem_header);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_elem_header);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+039:         8: ("_parse_elem_output", ["COORD"]),
  __Pyx_TraceLine(39,0,__PYX_ERR(0, 39, __pyx_L1_error))
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_COORD);
  __Pyx_GIVEREF(__pyx_n_u_COORD);
  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_COORD);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_elem_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_elem_output);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_elem_output);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_8, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+040:         11: ("_parse_elem_output", ["S"]),
  __Pyx_TraceLine(40,0,__PYX_ERR(0, 40, __pyx_L1_error))
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_S);
  __Pyx_GIVEREF(__pyx_n_u_S);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_S);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_elem_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_elem_output);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_elem_output);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_11, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+041:         21: ("_parse_elem_output", ["E"]),
  __Pyx_TraceLine(41,0,__PYX_ERR(0, 41, __pyx_L1_error))
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_E);
  __Pyx_GIVEREF(__pyx_n_u_E);
  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_E);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_elem_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_elem_output);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_elem_output);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_21, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+042:         5: ("_parse_elem_output", ["SDV"]),
  __Pyx_TraceLine(42,0,__PYX_ERR(0, 42, __pyx_L1_error))
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_SDV);
  __Pyx_GIVEREF(__pyx_n_u_SDV);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_SDV);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_elem_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_elem_output);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_elem_output);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_5, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+043:         101: ("_parse_nodal_output", ["U"]),
  __Pyx_TraceLine(43,0,__PYX_ERR(0, 43, __pyx_L1_error))
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 43, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_U);
  __Pyx_GIVEREF(__pyx_n_u_U);
  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_U);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_nodal_output);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_101, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+044:         104: ("_parse_nodal_output", ["RF"]),
  __Pyx_TraceLine(44,0,__PYX_ERR(0, 44, __pyx_L1_error))
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_RF);
  __Pyx_GIVEREF(__pyx_n_u_RF);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_RF);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_nodal_output);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_104, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+045:         106: ("_parse_nodal_output", ["CF"]),
  __Pyx_TraceLine(45,0,__PYX_ERR(0, 45, __pyx_L1_error))
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_CF);
  __Pyx_GIVEREF(__pyx_n_u_CF);
  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_CF);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_nodal_output);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_106, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+046:         107: ("_parse_nodal_output", ["COORD"]),
  __Pyx_TraceLine(46,0,__PYX_ERR(0, 46, __pyx_L1_error))
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_COORD);
  __Pyx_GIVEREF(__pyx_n_u_COORD);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_COORD);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_nodal_output);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_107, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+047:         146: ("_parse_nodal_output", ["TF"]),
  __Pyx_TraceLine(47,0,__PYX_ERR(0, 47, __pyx_L1_error))
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_TF);
  __Pyx_GIVEREF(__pyx_n_u_TF);
  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_TF);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_nodal_output);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_nodal_output);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_146, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+048:         1501: ("_parse_surface", [False]),
  __Pyx_TraceLine(48,0,__PYX_ERR(0, 48, __pyx_L1_error))
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(Py_False);
  __Pyx_GIVEREF(Py_False);
  PyList_SET_ITEM(__pyx_t_2, 0, Py_False);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_surface);
  __Pyx_GIVEREF(__pyx_n_u_parse_surface);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_surface);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1501, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+049:         1502: ("_parse_surface", [True]),
  __Pyx_TraceLine(49,0,__PYX_ERR(0, 49, __pyx_L1_error))
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 49, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(Py_True);
  __Pyx_GIVEREF(Py_True);
  PyList_SET_ITEM(__pyx_t_4, 0, Py_True);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 49, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_surface);
  __Pyx_GIVEREF(__pyx_n_u_parse_surface);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_surface);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1502, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+050:         1503: ("_parse_contact_output_request", []),
  __Pyx_TraceLine(50,0,__PYX_ERR(0, 50, __pyx_L1_error))
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_contact_output_request);
  __Pyx_GIVEREF(__pyx_n_u_parse_contact_output_request);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_contact_output_request);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1503, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+051:         1504: ("_parse_curr_contact_node", []),
  __Pyx_TraceLine(51,0,__PYX_ERR(0, 51, __pyx_L1_error))
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 51, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 51, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_curr_contact_node);
  __Pyx_GIVEREF(__pyx_n_u_parse_curr_contact_node);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_curr_contact_node);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1504, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+052:         1511: ("_parse_surface_output", ["CSTRESS"]),
  __Pyx_TraceLine(52,0,__PYX_ERR(0, 52, __pyx_L1_error))
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_CSTRESS);
  __Pyx_GIVEREF(__pyx_n_u_CSTRESS);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_CSTRESS);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_surface_output);
  __Pyx_GIVEREF(__pyx_n_u_parse_surface_output);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_surface_output);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1511, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+053:         1900: ("_parse_element", []),
  __Pyx_TraceLine(53,0,__PYX_ERR(0, 53, __pyx_L1_error))
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_element);
  __Pyx_GIVEREF(__pyx_n_u_parse_element);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_element);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1900, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+054:         1901: ("_parse_node", []),
  __Pyx_TraceLine(54,0,__PYX_ERR(0, 54, __pyx_L1_error))
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_node);
  __Pyx_GIVEREF(__pyx_n_u_parse_node);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_node);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1901, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+055:         1902: ("_parse_active_dof", []),
  __Pyx_TraceLine(55,0,__PYX_ERR(0, 55, __pyx_L1_error))
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 55, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 55, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_active_dof);
  __Pyx_GIVEREF(__pyx_n_u_parse_active_dof);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_active_dof);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1902, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+056:         1911: ("_parse_output_request", []),
  __Pyx_TraceLine(56,0,__PYX_ERR(0, 56, __pyx_L1_error))
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_output_request);
  __Pyx_GIVEREF(__pyx_n_u_parse_output_request);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_output_request);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1911, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+057:         1921: ("_parse_not_implemented", ["Abaqus release, etc."]),
  __Pyx_TraceLine(57,0,__PYX_ERR(0, 57, __pyx_L1_error))
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_kp_u_Abaqus_release_etc);
  __Pyx_GIVEREF(__pyx_kp_u_Abaqus_release_etc);
  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_Abaqus_release_etc);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_not_implemented);
  __Pyx_GIVEREF(__pyx_n_u_parse_not_implemented);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_not_implemented);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1921, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+058:         1922: ("_parse_not_implemented", ["Heading"]),
  __Pyx_TraceLine(58,0,__PYX_ERR(0, 58, __pyx_L1_error))
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 58, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_Heading);
  __Pyx_GIVEREF(__pyx_n_u_Heading);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_Heading);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 58, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_not_implemented);
  __Pyx_GIVEREF(__pyx_n_u_parse_not_implemented);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_not_implemented);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1922, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+059:         1931: ("_parse_set", [False, "node"]),
  __Pyx_TraceLine(59,0,__PYX_ERR(0, 59, __pyx_L1_error))
  __pyx_t_4 = PyList_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 59, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(Py_False);
  __Pyx_GIVEREF(Py_False);
  PyList_SET_ITEM(__pyx_t_4, 0, Py_False);
  __Pyx_INCREF(__pyx_n_u_node);
  __Pyx_GIVEREF(__pyx_n_u_node);
  PyList_SET_ITEM(__pyx_t_4, 1, __pyx_n_u_node);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 59, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_set);
  __Pyx_GIVEREF(__pyx_n_u_parse_set);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_set);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1931, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+060:         1932: ("_parse_set", [True, "node"]),
  __Pyx_TraceLine(60,0,__PYX_ERR(0, 60, __pyx_L1_error))
  __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 60, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(Py_True);
  __Pyx_GIVEREF(Py_True);
  PyList_SET_ITEM(__pyx_t_2, 0, Py_True);
  __Pyx_INCREF(__pyx_n_u_node);
  __Pyx_GIVEREF(__pyx_n_u_node);
  PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_node);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 60, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_set);
  __Pyx_GIVEREF(__pyx_n_u_parse_set);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_set);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1932, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+061:         1933: ("_parse_set", [False, "element"]),
  __Pyx_TraceLine(61,0,__PYX_ERR(0, 61, __pyx_L1_error))
  __pyx_t_4 = PyList_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(Py_False);
  __Pyx_GIVEREF(Py_False);
  PyList_SET_ITEM(__pyx_t_4, 0, Py_False);
  __Pyx_INCREF(__pyx_n_u_element);
  __Pyx_GIVEREF(__pyx_n_u_element);
  PyList_SET_ITEM(__pyx_t_4, 1, __pyx_n_u_element);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_set);
  __Pyx_GIVEREF(__pyx_n_u_parse_set);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_set);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1933, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+062:         1934: ("_parse_set", [True, "element"]),
  __Pyx_TraceLine(62,0,__PYX_ERR(0, 62, __pyx_L1_error))
  __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 62, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(Py_True);
  __Pyx_GIVEREF(Py_True);
  PyList_SET_ITEM(__pyx_t_2, 0, Py_True);
  __Pyx_INCREF(__pyx_n_u_element);
  __Pyx_GIVEREF(__pyx_n_u_element);
  PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_element);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 62, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_set);
  __Pyx_GIVEREF(__pyx_n_u_parse_set);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_set);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1934, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+063:         1940: ("_parse_label_cross_ref", []),
  __Pyx_TraceLine(63,0,__PYX_ERR(0, 63, __pyx_L1_error))
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_label_cross_ref);
  __Pyx_GIVEREF(__pyx_n_u_parse_label_cross_ref);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_label_cross_ref);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_1940, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+064:         2000: ("_parse_step", ["start"]),
  __Pyx_TraceLine(64,0,__PYX_ERR(0, 64, __pyx_L1_error))
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 64, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_start);
  __Pyx_GIVEREF(__pyx_n_u_start);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_start);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 64, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_parse_step);
  __Pyx_GIVEREF(__pyx_n_u_parse_step);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_parse_step);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_2000, __pyx_t_4) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+065:         2001: ("_parse_step", ["end"]),
  __Pyx_TraceLine(65,0,__PYX_ERR(0, 65, __pyx_L1_error))
  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_n_u_end);
  __Pyx_GIVEREF(__pyx_n_u_end);
  PyList_SET_ITEM(__pyx_t_4, 0, __pyx_n_u_end);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_parse_step);
  __Pyx_GIVEREF(__pyx_n_u_parse_step);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_parse_step);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
  __pyx_t_4 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_int_2001, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_7pybaqus_10fil_result_FilParser->tp_dict, __pyx_n_s_PARSE_MAP, __pyx_t_1) < 0) __PYX_ERR(0, 37, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_7pybaqus_10fil_result_FilParser);
 066:     }
 067: 
 068:     CONTACT_OUT = {
+069:         "CSTRESS": ["CPRESS", "CSHEAR1", "CSHEAR2"],
  __Pyx_TraceLine(69,0,__PYX_ERR(0, 69, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 69, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 69, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_u_CPRESS);
  __Pyx_GIVEREF(__pyx_n_u_CPRESS);
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_CPRESS);
  __Pyx_INCREF(__pyx_n_u_CSHEAR1);
  __Pyx_GIVEREF(__pyx_n_u_CSHEAR1);
  PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_CSHEAR1);
  __Pyx_INCREF(__pyx_n_u_CSHEAR2);
  __Pyx_GIVEREF(__pyx_n_u_CSHEAR2);
  PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_CSHEAR2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_CSTRESS, __pyx_t_2) < 0) __PYX_ERR(0, 69, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_7pybaqus_10fil_result_FilParser->tp_dict, __pyx_n_s_CONTACT_OUT, __pyx_t_1) < 0) __PYX_ERR(0, 68, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  PyType_Modified(__pyx_ptype_7pybaqus_10fil_result_FilParser);
 070:     }
 071: 
 072:     _records: list
 073:     _model: Model
+074:     _curr_elem_out = cython.declare(int, visibility='public')
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_14_curr_elem_out_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_14_curr_elem_out_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_14_curr_elem_out___get__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_14_curr_elem_out___get__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 74, 0, __PYX_ERR(0, 74, __pyx_L1_error));
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_curr_elem_out); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._curr_elem_out.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_14_curr_elem_out_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_14_curr_elem_out_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_14_curr_elem_out_2__set__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_7pybaqus_10fil_result_9FilParser_14_curr_elem_out_2__set__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 74, 0, __PYX_ERR(0, 74, __pyx_L1_error));
  __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L1_error)
  __pyx_v_self->_curr_elem_out = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._curr_elem_out.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+075:     _curr_step = cython.declare(int, visibility='public')
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_10_curr_step_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_10_curr_step_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_10_curr_step___get__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_10_curr_step___get__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 75, 0, __PYX_ERR(0, 75, __pyx_L1_error));
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_curr_step); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 75, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._curr_step.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_10_curr_step_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_10_curr_step_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_10_curr_step_2__set__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_7pybaqus_10fil_result_9FilParser_10_curr_step_2__set__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 75, 0, __PYX_ERR(0, 75, __pyx_L1_error));
  __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 75, __pyx_L1_error)
  __pyx_v_self->_curr_step = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._curr_step.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+076:     _curr_inc = cython.declare(int, visibility='public')
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_9_curr_inc_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_9_curr_inc_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_9_curr_inc___get__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_9_curr_inc___get__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 76, 0, __PYX_ERR(0, 76, __pyx_L1_error));
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_curr_inc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._curr_inc.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_9_curr_inc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_9_curr_inc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_9_curr_inc_2__set__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_7pybaqus_10fil_result_9FilParser_9_curr_inc_2__set__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 76, 0, __PYX_ERR(0, 76, __pyx_L1_error));
  __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 76, __pyx_L1_error)
  __pyx_v_self->_curr_inc = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._curr_inc.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+077:     _curr_loc_id = cython.declare(int, visibility='public')
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_12_curr_loc_id_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_12_curr_loc_id_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_12_curr_loc_id___get__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_12_curr_loc_id___get__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 77, 0, __PYX_ERR(0, 77, __pyx_L1_error));
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->_curr_loc_id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 77, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._curr_loc_id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_12_curr_loc_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_12_curr_loc_id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_12_curr_loc_id_2__set__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_7pybaqus_10fil_result_9FilParser_12_curr_loc_id_2__set__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[0], 77, 0, __PYX_ERR(0, 77, __pyx_L1_error));
  __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 77, __pyx_L1_error)
  __pyx_v_self->_curr_loc_id = __pyx_t_1;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._curr_loc_id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 078:     _curr_n_int_point: cython.declare(int, visibility='public')
 079:     _flag_output: cython.declare(int, visibility='public')
 080:     _curr_output_node: cython.declare(int, visibility='public')
 081:     _output_request_set: str
 082:     _output_elem_type: str
 083:     _dof_map: dict
 084:     _model_dimension: cython.declare(int, visibility='public')
 085:     _node_records: list
 086:     _curr_set: cython.declare(int, visibility='public')
 087:     _tmp_sets: dict
 088:     _label_cross_ref: dict
 089:     _curr_surface: cython.declare(int, visibility='public')
 090:     _tmp_surf: dict
 091:     _tmp_faces: dict
 092:     _node_elems: dict
 093: 
+094:     def __cinit__(self, records: list, progress: bool):
/* Python wrapper */
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_7pybaqus_10fil_result_9FilParser_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_records = 0;
  PyObject *__pyx_v_progress = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_records,&__pyx_n_s_progress,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_records)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_progress)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); __PYX_ERR(0, 94, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 94, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_records = ((PyObject*)values[0]);
    __pyx_v_progress = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 94, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_records), (&PyList_Type), 1, "records", 1))) __PYX_ERR(0, 94, __pyx_L1_error)
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser___cinit__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), __pyx_v_records, __pyx_v_progress);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_7pybaqus_10fil_result_9FilParser___cinit__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_records, PyObject *__pyx_v_progress) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_TraceCall("__cinit__", __pyx_f[0], 94, 0, __PYX_ERR(0, 94, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+095:         self._records = records
  __Pyx_TraceLine(95,0,__PYX_ERR(0, 95, __pyx_L1_error))
  __Pyx_INCREF(__pyx_v_records);
  __Pyx_GIVEREF(__pyx_v_records);
  __Pyx_GOTREF(__pyx_v_self->_records);
  __Pyx_DECREF(__pyx_v_self->_records);
  __pyx_v_self->_records = __pyx_v_records;
+096:         self._model = Model()
  __Pyx_TraceLine(96,0,__PYX_ERR(0, 96, __pyx_L1_error))
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Model); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_model);
  __Pyx_DECREF(__pyx_v_self->_model);
  __pyx_v_self->_model = __pyx_t_1;
  __pyx_t_1 = 0;
 097: 
+098:         self._curr_elem_out= -1
  __Pyx_TraceLine(98,0,__PYX_ERR(0, 98, __pyx_L1_error))
  __pyx_v_self->_curr_elem_out = -1;
+099:         self._curr_n_int_point = -1
  __Pyx_TraceLine(99,0,__PYX_ERR(0, 99, __pyx_L1_error))
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  __Pyx_GOTREF(__pyx_v_self->_curr_n_int_point);
  __Pyx_DECREF(__pyx_v_self->_curr_n_int_point);
  __pyx_v_self->_curr_n_int_point = __pyx_int_neg_1;
+100:         self._curr_step = -1
  __Pyx_TraceLine(100,0,__PYX_ERR(0, 100, __pyx_L1_error))
  __pyx_v_self->_curr_step = -1;
+101:         self._curr_inc = -1
  __Pyx_TraceLine(101,0,__PYX_ERR(0, 101, __pyx_L1_error))
  __pyx_v_self->_curr_inc = -1;
+102:         self._curr_loc_id = -1
  __Pyx_TraceLine(102,0,__PYX_ERR(0, 102, __pyx_L1_error))
  __pyx_v_self->_curr_loc_id = -1;
+103:         self._flag_output = -1
  __Pyx_TraceLine(103,0,__PYX_ERR(0, 103, __pyx_L1_error))
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  __Pyx_GOTREF(__pyx_v_self->_flag_output);
  __Pyx_DECREF(__pyx_v_self->_flag_output);
  __pyx_v_self->_flag_output = __pyx_int_neg_1;
+104:         self._curr_output_node = -1
  __Pyx_TraceLine(104,0,__PYX_ERR(0, 104, __pyx_L1_error))
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  __Pyx_GOTREF(__pyx_v_self->_curr_output_node);
  __Pyx_DECREF(__pyx_v_self->_curr_output_node);
  __pyx_v_self->_curr_output_node = __pyx_int_neg_1;
+105:         self._output_request_set = ""
  __Pyx_TraceLine(105,0,__PYX_ERR(0, 105, __pyx_L1_error))
  __Pyx_INCREF(__pyx_kp_u_);
  __Pyx_GIVEREF(__pyx_kp_u_);
  __Pyx_GOTREF(__pyx_v_self->_output_request_set);
  __Pyx_DECREF(__pyx_v_self->_output_request_set);
  __pyx_v_self->_output_request_set = __pyx_kp_u_;
+106:         self._output_elem_type = ""
  __Pyx_TraceLine(106,0,__PYX_ERR(0, 106, __pyx_L1_error))
  __Pyx_INCREF(__pyx_kp_u_);
  __Pyx_GIVEREF(__pyx_kp_u_);
  __Pyx_GOTREF(__pyx_v_self->_output_elem_type);
  __Pyx_DECREF(__pyx_v_self->_output_elem_type);
  __pyx_v_self->_output_elem_type = __pyx_kp_u_;
+107:         self._dof_map = dict()
  __Pyx_TraceLine(107,0,__PYX_ERR(0, 107, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_dof_map);
  __Pyx_DECREF(__pyx_v_self->_dof_map);
  __pyx_v_self->_dof_map = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+108:         self._model_dimension = -1
  __Pyx_TraceLine(108,0,__PYX_ERR(0, 108, __pyx_L1_error))
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  __Pyx_GOTREF(__pyx_v_self->_model_dimension);
  __Pyx_DECREF(__pyx_v_self->_model_dimension);
  __pyx_v_self->_model_dimension = __pyx_int_neg_1;
+109:         self._node_records = list()
  __Pyx_TraceLine(109,0,__PYX_ERR(0, 109, __pyx_L1_error))
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_node_records);
  __Pyx_DECREF(__pyx_v_self->_node_records);
  __pyx_v_self->_node_records = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
 110: 
+111:         self._curr_set = -1
  __Pyx_TraceLine(111,0,__PYX_ERR(0, 111, __pyx_L1_error))
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  __Pyx_GOTREF(__pyx_v_self->_curr_set);
  __Pyx_DECREF(__pyx_v_self->_curr_set);
  __pyx_v_self->_curr_set = __pyx_int_neg_1;
+112:         self._tmp_sets = {"element": dict(), "node": dict()}
  __Pyx_TraceLine(112,0,__PYX_ERR(0, 112, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_element, __pyx_t_2) < 0) __PYX_ERR(0, 112, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_node, __pyx_t_2) < 0) __PYX_ERR(0, 112, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_tmp_sets);
  __Pyx_DECREF(__pyx_v_self->_tmp_sets);
  __pyx_v_self->_tmp_sets = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+113:         self._label_cross_ref = dict()
  __Pyx_TraceLine(113,0,__PYX_ERR(0, 113, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_label_cross_ref);
  __Pyx_DECREF(__pyx_v_self->_label_cross_ref);
  __pyx_v_self->_label_cross_ref = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+114:         self._curr_surface = -1
  __Pyx_TraceLine(114,0,__PYX_ERR(0, 114, __pyx_L1_error))
  __Pyx_INCREF(__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_int_neg_1);
  __Pyx_GOTREF(__pyx_v_self->_curr_surface);
  __Pyx_DECREF(__pyx_v_self->_curr_surface);
  __pyx_v_self->_curr_surface = __pyx_int_neg_1;
+115:         self._tmp_surf = dict()
  __Pyx_TraceLine(115,0,__PYX_ERR(0, 115, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_tmp_surf);
  __Pyx_DECREF(__pyx_v_self->_tmp_surf);
  __pyx_v_self->_tmp_surf = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+116:         self._tmp_faces = dict()
  __Pyx_TraceLine(116,0,__PYX_ERR(0, 116, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_tmp_faces);
  __Pyx_DECREF(__pyx_v_self->_tmp_faces);
  __pyx_v_self->_tmp_faces = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+117:         self._node_elems = dict()
  __Pyx_TraceLine(117,0,__PYX_ERR(0, 117, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_node_elems);
  __Pyx_DECREF(__pyx_v_self->_node_elems);
  __pyx_v_self->_node_elems = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
 118: 
+119:         self._parse_records(progress)
  __Pyx_TraceLine(119,0,__PYX_ERR(0, 119, __pyx_L1_error))
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_parse_records); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_progress) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_progress);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 120: 
 121:     @cython.nonecheck(False)
+122:     def _parse_records(self, progress: bool):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_3_parse_records(PyObject *__pyx_v_self, PyObject *__pyx_v_progress); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_2_parse_records[] = "Parse the imported records.";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_3_parse_records(PyObject *__pyx_v_self, PyObject *__pyx_v_progress) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_records (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_2_parse_records(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_progress));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_2_parse_records(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_progress) {
  PyObject *__pyx_v_records = 0;
  PyObject *__pyx_v_vars_i = 0;
  PyObject *__pyx_v_r_i = 0;
  int __pyx_v_key;
  PyObject *__pyx_v_pattern = NULL;
  PyObject *__pyx_v_m_rec = NULL;
  PyObject *__pyx_v_args = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_records", 0);
  __Pyx_TraceCall("_parse_records", __pyx_f[0], 122, 0, __PYX_ERR(0, 122, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_records", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_records);
  __Pyx_XDECREF(__pyx_v_vars_i);
  __Pyx_XDECREF(__pyx_v_r_i);
  __Pyx_XDECREF(__pyx_v_pattern);
  __Pyx_XDECREF(__pyx_v_m_rec);
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 123:         """Parse the imported records."""
 124:         records: list
 125:         vars_i: list
 126:         r_i: cython.str
 127:         key: cython.int
 128: 
+129:         records = self._records
  __Pyx_TraceLine(129,0,__PYX_ERR(0, 129, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_records;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_records = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+130:         print("Test 2")
  __Pyx_TraceLine(130,0,__PYX_ERR(0, 130, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* … */
  __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_u_Test_2); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__2);
  __Pyx_GIVEREF(__pyx_tuple__2);
 131: 
 132:         pattern = (
 133:             r"[ADEI](?: \d(\d+)|"  # ints
 134:             + r"((?: |-)\d+\.\d+(?:E|D)(?:\+|-)\d+)|"  # floats
+135:             + r"(.{8}))"  # strings
  __Pyx_TraceLine(135,0,__PYX_ERR(0, 135, __pyx_L1_error))
  __Pyx_INCREF(__pyx_kp_u_ADEI_d_d_d_d_E_D_d_8);
  __pyx_v_pattern = __pyx_kp_u_ADEI_d_d_d_d_E_D_d_8;
 136:         )
 137: 
 138:         # Parse each record
+139:         for r_i in records:
  __Pyx_TraceLine(139,0,__PYX_ERR(0, 139, __pyx_L1_error))
  if (unlikely(__pyx_v_records == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 139, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_v_records; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
  for (;;) {
    if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 139, __pyx_L1_error)
    #else
    __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    if (!(likely(PyUnicode_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(0, 139, __pyx_L1_error)
    __Pyx_XDECREF_SET(__pyx_v_r_i, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;
/* … */
    __Pyx_TraceLine(139,0,__PYX_ERR(0, 139, __pyx_L1_error))
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+140:             m_rec = re.findall(pattern, r_i)
    __Pyx_TraceLine(140,0,__PYX_ERR(0, 140, __pyx_L1_error))
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_findall); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    __pyx_t_6 = 0;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
        __pyx_t_6 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_pattern, __pyx_v_r_i};
      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 140, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
      PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_pattern, __pyx_v_r_i};
      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 140, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_GOTREF(__pyx_t_3);
    } else
    #endif
    {
      __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 140, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (__pyx_t_4) {
        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
      }
      __Pyx_INCREF(__pyx_v_pattern);
      __Pyx_GIVEREF(__pyx_v_pattern);
      PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_pattern);
      __Pyx_INCREF(__pyx_v_r_i);
      __Pyx_GIVEREF(__pyx_v_r_i);
      PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_r_i);
      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 140, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF_SET(__pyx_v_m_rec, __pyx_t_3);
    __pyx_t_3 = 0;
 141: 
 142:             # Get each variable
+143:             vars_i = list(map(self._convert_record, m_rec))
    __Pyx_TraceLine(143,0,__PYX_ERR(0, 143, __pyx_L1_error))
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_convert_record); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3);
    __Pyx_INCREF(__pyx_v_m_rec);
    __Pyx_GIVEREF(__pyx_v_m_rec);
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_m_rec);
    __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_map, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF_SET(__pyx_v_vars_i, ((PyObject*)__pyx_t_5));
    __pyx_t_5 = 0;
 144: 
 145:             # Process record
+146:             key = vars_i[1]
    __Pyx_TraceLine(146,0,__PYX_ERR(0, 146, __pyx_L1_error))
    __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_vars_i, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 146, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_key = __pyx_t_6;
 147:             # Lookup the key in dictionary and execute the respective functions
+148:             if key in self.PARSE_MAP:
    __Pyx_TraceLine(148,0,__PYX_ERR(0, 148, __pyx_L1_error))
    __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_PARSE_MAP); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (__Pyx_PySequence_ContainsTF(__pyx_t_5, __pyx_t_3, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 148, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_9 = (__pyx_t_8 != 0);
    if (__pyx_t_9) {
/* … */
      goto __pyx_L5;
    }
+149:                 args = self.PARSE_MAP[key][1]
      __Pyx_TraceLine(149,0,__PYX_ERR(0, 149, __pyx_L1_error))
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_PARSE_MAP); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_3, __pyx_v_key, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF_SET(__pyx_v_args, __pyx_t_3);
      __pyx_t_3 = 0;
+150:                 getattr(self, self.PARSE_MAP[key][0])(vars_i, *args)
      __Pyx_TraceLine(150,0,__PYX_ERR(0, 150, __pyx_L1_error))
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_PARSE_MAP); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 150, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_3, __pyx_v_key, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 150, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 150, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_GetAttr(((PyObject *)__pyx_v_self), __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 150, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 150, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_v_vars_i);
      __Pyx_GIVEREF(__pyx_v_vars_i);
      PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_vars_i);
      __pyx_t_7 = __Pyx_PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 150, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 150, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 150, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
 151:             else:
+152:                 print(f"Key {key} not defined!")
    __Pyx_TraceLine(152,0,__PYX_ERR(0, 152, __pyx_L1_error))
    /*else*/ {
      __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 152, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_10 = 0;
      __pyx_t_11 = 127;
      __Pyx_INCREF(__pyx_kp_u_Key);
      __pyx_t_10 += 4;
      __Pyx_GIVEREF(__pyx_kp_u_Key);
      PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_kp_u_Key);
      __pyx_t_4 = __Pyx_PyUnicode_From_int(__pyx_v_key, 0, ' ', 'd'); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 152, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_10 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_4);
      PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4);
      __pyx_t_4 = 0;
      __Pyx_INCREF(__pyx_kp_u_not_defined);
      __pyx_t_10 += 13;
      __Pyx_GIVEREF(__pyx_kp_u_not_defined);
      PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_kp_u_not_defined);
      __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_7, 3, __pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 152, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 152, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
    __pyx_L5:;
 153: 
 154:         # Execute post-read actions on the model
+155:         self._post_parse_all_surfaces()
  __Pyx_TraceLine(155,0,__PYX_ERR(0, 155, __pyx_L1_error))
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_post_parse_all_surfaces); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+156:         self._reference_elems_in_nodes()
  __Pyx_TraceLine(156,0,__PYX_ERR(0, 156, __pyx_L1_error))
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reference_elems_in_nodes); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+157:         self._model.post_import_actions()
  __Pyx_TraceLine(157,0,__PYX_ERR(0, 157, __pyx_L1_error))
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_post_import_actions); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 158: 
+159:     def _convert_record(self, record: tuple):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_5_convert_record(PyObject *__pyx_v_self, PyObject *__pyx_v_record); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_4_convert_record[] = "Convert one record to a list of numbers and strings.";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_5_convert_record(PyObject *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_convert_record (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_record), (&PyTuple_Type), 1, "record", 1))) __PYX_ERR(0, 159, __pyx_L1_error)
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_4_convert_record(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject*)__pyx_v_record));
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_4_convert_record(CYTHON_UNUSED struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_convert_record", 0);
  __Pyx_TraceCall("_convert_record", __pyx_f[0], 159, 0, __PYX_ERR(0, 159, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._convert_record", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 160:         """Convert one record to a list of numbers and strings."""
 161:         # For each variable three matches are made (why?), so we need to
 162:         # take the one with the data (the only one which is not am empty
 163:         # string)
+164:         if record[0] != "":
  __Pyx_TraceLine(164,0,__PYX_ERR(0, 164, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 164, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_record, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_kp_u_, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 164, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {
/* … */
  }
+165:             return int(record[0])
    __Pyx_TraceLine(165,0,__PYX_ERR(0, 165, __pyx_L1_error))
    __Pyx_XDECREF(__pyx_r);
    if (unlikely(__pyx_v_record == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 165, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_record, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
+166:         elif record[1] != "":
  __Pyx_TraceLine(166,0,__PYX_ERR(0, 166, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 166, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_record, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_3, __pyx_kp_u_, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 166, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_2) {
/* … */
  }
+167:             return float(record[1].replace("D", "E"))
    __Pyx_TraceLine(167,0,__PYX_ERR(0, 167, __pyx_L1_error))
    __Pyx_XDECREF(__pyx_r);
    if (unlikely(__pyx_v_record == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 167, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_GetItemInt_Tuple(__pyx_v_record, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_replace); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyNumber_Float(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;
/* … */
  __pyx_tuple__3 = PyTuple_Pack(2, __pyx_n_u_D, __pyx_n_u_E); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__3);
  __Pyx_GIVEREF(__pyx_tuple__3);
 168:         else:
+169:             return record[2]
  __Pyx_TraceLine(169,0,__PYX_ERR(0, 169, __pyx_L1_error))
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    if (unlikely(__pyx_v_record == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 169, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;
  }
 170: 
+171:     def _parse_element(self, record: list):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_7_parse_element(PyObject *__pyx_v_self, PyObject *__pyx_v_record); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_6_parse_element[] = "Parse the data of an element\n\n        Parameters\n        ----------\n        record : list\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_7_parse_element(PyObject *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_element (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_record), (&PyList_Type), 1, "record", 1))) __PYX_ERR(0, 171, __pyx_L1_error)
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_6_parse_element(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject*)__pyx_v_record));
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_6_parse_element(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_v_e_type = 0;
  int __pyx_v_e_number;
  PyObject *__pyx_v_nodes = 0;
  int __pyx_v_n;
  PyObject *__pyx_v_ElementClass = NULL;
  PyObject *__pyx_v_element = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_element", 0);
  __Pyx_TraceCall("_parse_element", __pyx_f[0], 171, 0, __PYX_ERR(0, 171, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_element", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_e_type);
  __Pyx_XDECREF(__pyx_v_nodes);
  __Pyx_XDECREF(__pyx_v_ElementClass);
  __Pyx_XDECREF(__pyx_v_element);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 172:         """Parse the data of an element
 173: 
 174:         Parameters
 175:         ----------
 176:         record : list
 177: 
 178:         """
 179:         # Element type
+180:         e_type: cython.str = record[3].strip()
  __Pyx_TraceLine(180,0,__PYX_ERR(0, 180, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 180, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_record, 3, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_strip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 180, __pyx_L1_error)
  __pyx_v_e_type = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+181:         e_number: cython.int = record[2]
  __Pyx_TraceLine(181,0,__PYX_ERR(0, 181, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 181, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 181, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_e_number = __pyx_t_4;
+182:         nodes: list = record[4:]
  __Pyx_TraceLine(182,0,__PYX_ERR(0, 182, __pyx_L1_error))
  if (unlikely(__pyx_v_record == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 182, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyList_GetSlice(__pyx_v_record, 4, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_nodes = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
 183:         n: cython.int
 184: 
 185:         # Add a reference to the node poinitng at the element
+186:         for n in nodes:
  __Pyx_TraceLine(186,0,__PYX_ERR(0, 186, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_nodes; __Pyx_INCREF(__pyx_t_1); __pyx_t_5 = 0;
  for (;;) {
    if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_1)) break;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 186, __pyx_L1_error)
    #else
    __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 186, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_n = __pyx_t_4;
/* … */
    __Pyx_TraceLine(186,0,__PYX_ERR(0, 186, __pyx_L1_error))
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+187:             if n in self._node_elems.keys():
    __Pyx_TraceLine(187,0,__PYX_ERR(0, 187, __pyx_L1_error))
    __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (unlikely(__pyx_v_self->_node_elems == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "keys");
      __PYX_ERR(0, 187, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_PyDict_Keys(__pyx_v_self->_node_elems); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = (__Pyx_PySequence_ContainsTF(__pyx_t_3, __pyx_t_2, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 187, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_7 = (__pyx_t_6 != 0);
    if (__pyx_t_7) {
/* … */
      goto __pyx_L5;
    }
+188:                 self._node_elems[n].append(e_number)
      __Pyx_TraceLine(188,0,__PYX_ERR(0, 188, __pyx_L1_error))
      if (unlikely(__pyx_v_self->_node_elems == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 188, __pyx_L1_error)
      }
      __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 188, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_self->_node_elems, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 188, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_e_number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 188, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_8 = __Pyx_PyObject_Append(__pyx_t_3, __pyx_t_2); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 188, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 189:             else:
+190:                 self._node_elems[n] = [e_number]
    __Pyx_TraceLine(190,0,__PYX_ERR(0, 190, __pyx_L1_error))
    /*else*/ {
      __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_e_number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 190, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 190, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_GIVEREF(__pyx_t_2);
      PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
      __pyx_t_2 = 0;
      if (unlikely(__pyx_v_self->_node_elems == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 190, __pyx_L1_error)
      }
      __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_n); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 190, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      if (unlikely(PyDict_SetItem(__pyx_v_self->_node_elems, __pyx_t_2, __pyx_t_3) < 0)) __PYX_ERR(0, 190, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_L5:;
 191: 
+192:         ElementClass = ELEMENTS[e_type]
  __Pyx_TraceLine(192,0,__PYX_ERR(0, 192, __pyx_L1_error))
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ELEMENTS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_v_e_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ElementClass = __pyx_t_3;
  __pyx_t_3 = 0;
 193: 
+194:         element = ElementClass(*nodes, num=e_number, model=self._model, code=e_type)
  __Pyx_TraceLine(194,0,__PYX_ERR(0, 194, __pyx_L1_error))
  __pyx_t_3 = PySequence_Tuple(__pyx_v_nodes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_e_number); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_num, __pyx_t_2) < 0) __PYX_ERR(0, 194, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_model, __pyx_v_self->_model) < 0) __PYX_ERR(0, 194, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_code, __pyx_v_e_type) < 0) __PYX_ERR(0, 194, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_ElementClass, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_element = __pyx_t_2;
  __pyx_t_2 = 0;
+195:         element.n_integ_points: cython.int = N_INT_PNTS[e_type]
  __Pyx_TraceLine(195,0,__PYX_ERR(0, 195, __pyx_L1_error))
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_N_INT_PNTS); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_v_e_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_element, __pyx_n_s_n_integ_points, __pyx_t_1) < 0) __PYX_ERR(0, 195, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+196:         self._model.add_element(element)
  __Pyx_TraceLine(196,0,__PYX_ERR(0, 196, __pyx_L1_error))
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_element) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_element);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 197: 
+198:     def _parse_node(self, record: list):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_9_parse_node(PyObject *__pyx_v_self, PyObject *__pyx_v_record); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_8_parse_node[] = "Parse the data of a node\n\n        Parameters\n        ----------\n        record : list\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_9_parse_node(PyObject *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_node (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_record), (&PyList_Type), 1, "record", 1))) __PYX_ERR(0, 198, __pyx_L1_error)
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_8_parse_node(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject*)__pyx_v_record));
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_8_parse_node(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_v_n_number = NULL;
  PyObject *__pyx_v_dofs = NULL;
  PyObject *__pyx_v_dof_map = NULL;
  PyObject *__pyx_v_node = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_node", 0);
  __Pyx_TraceCall("_parse_node", __pyx_f[0], 198, 0, __PYX_ERR(0, 198, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_node", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n_number);
  __Pyx_XDECREF(__pyx_v_dofs);
  __Pyx_XDECREF(__pyx_v_dof_map);
  __Pyx_XDECREF(__pyx_v_node);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 199:         """Parse the data of a node
 200: 
 201:         Parameters
 202:         ----------
 203:         record : list
 204: 
 205:         """
 206:         # Wait until the 'Active degree of freedom' key has been processed
+207:         if self._model_dimension < 0:
  __Pyx_TraceLine(207,0,__PYX_ERR(0, 207, __pyx_L1_error))
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_self->_model_dimension, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 207, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {
/* … */
    goto __pyx_L3;
  }
+208:             self._node_records.append(record)
    __Pyx_TraceLine(208,0,__PYX_ERR(0, 208, __pyx_L1_error))
    if (unlikely(__pyx_v_self->_node_records == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
      __PYX_ERR(0, 208, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_PyList_Append(__pyx_v_self->_node_records, __pyx_v_record); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 208, __pyx_L1_error)
 209:         else:
+210:             n_number = record[2]
  __Pyx_TraceLine(210,0,__PYX_ERR(0, 210, __pyx_L1_error))
  /*else*/ {
    if (unlikely(__pyx_v_record == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 210, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_n_number = __pyx_t_1;
    __pyx_t_1 = 0;
+211:             dofs = record[3:]
    __Pyx_TraceLine(211,0,__PYX_ERR(0, 211, __pyx_L1_error))
    if (unlikely(__pyx_v_record == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 211, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_PyList_GetSlice(__pyx_v_record, 3, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_dofs = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
+212:             dof_map = self._dof_map
    __Pyx_TraceLine(212,0,__PYX_ERR(0, 212, __pyx_L1_error))
    __pyx_t_1 = __pyx_v_self->_dof_map;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_v_dof_map = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
 213: 
+214:             if self._model_dimension == 2:
    __Pyx_TraceLine(214,0,__PYX_ERR(0, 214, __pyx_L1_error))
    __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_self->_model_dimension, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 214, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_2) {
/* … */
      goto __pyx_L4;
    }
+215:                 node = Node2D(n_number, dof_map, self._model, *dofs)
      __Pyx_TraceLine(215,0,__PYX_ERR(0, 215, __pyx_L1_error))
      __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Node2D); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 215, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 215, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_INCREF(__pyx_v_n_number);
      __Pyx_GIVEREF(__pyx_v_n_number);
      PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_n_number);
      __Pyx_INCREF(__pyx_v_dof_map);
      __Pyx_GIVEREF(__pyx_v_dof_map);
      PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_dof_map);
      __Pyx_INCREF(__pyx_v_self->_model);
      __Pyx_GIVEREF(__pyx_v_self->_model);
      PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_self->_model);
      __pyx_t_5 = PySequence_Tuple(__pyx_v_dofs); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 215, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 215, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 215, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_v_node = __pyx_t_5;
      __pyx_t_5 = 0;
 216:             else:
+217:                 node = Node3D(n_number, dof_map, self._model, *dofs)
    __Pyx_TraceLine(217,0,__PYX_ERR(0, 217, __pyx_L1_error))
    /*else*/ {
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Node3D); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 217, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 217, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_v_n_number);
      __Pyx_GIVEREF(__pyx_v_n_number);
      PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_n_number);
      __Pyx_INCREF(__pyx_v_dof_map);
      __Pyx_GIVEREF(__pyx_v_dof_map);
      PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_dof_map);
      __Pyx_INCREF(__pyx_v_self->_model);
      __Pyx_GIVEREF(__pyx_v_self->_model);
      PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_self->_model);
      __pyx_t_1 = PySequence_Tuple(__pyx_v_dofs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 217, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = PyNumber_Add(__pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 217, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 217, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_v_node = __pyx_t_1;
      __pyx_t_1 = 0;
    }
    __pyx_L4:;
 218: 
+219:             self._model.add_node(node)
    __Pyx_TraceLine(219,0,__PYX_ERR(0, 219, __pyx_L1_error))
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 219, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_node) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_node);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 219, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_L3:;
 220: 
+221:     def _parse_all_nodes(self):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_11_parse_all_nodes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_10_parse_all_nodes[] = "Parse all nodes.\n\n        This has to be executed after the active degree of freedom\n        are specified.\n\n        Parameters\n        ----------\n        records : list\n            A list of all the records with nodes\n\n        Returns\n        -------\n        TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_11_parse_all_nodes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_all_nodes (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_10_parse_all_nodes(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_10_parse_all_nodes(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self) {
  PyObject *__pyx_v_records = 0;
  PyObject *__pyx_v_record = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_all_nodes", 0);
  __Pyx_TraceCall("_parse_all_nodes", __pyx_f[0], 221, 0, __PYX_ERR(0, 221, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_all_nodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_records);
  __Pyx_XDECREF(__pyx_v_record);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 222:         """Parse all nodes.
 223: 
 224:         This has to be executed after the active degree of freedom
 225:         are specified.
 226: 
 227:         Parameters
 228:         ----------
 229:         records : list
 230:             A list of all the records with nodes
 231: 
 232:         Returns
 233:         -------
 234:         TODO
 235: 
 236:         """
+237:         records: list = self._node_records
  __Pyx_TraceLine(237,0,__PYX_ERR(0, 237, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_node_records;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_records = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
 238:         record: list
 239: 
+240:         for record in records:
  __Pyx_TraceLine(240,0,__PYX_ERR(0, 240, __pyx_L1_error))
  if (unlikely(__pyx_v_records == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(0, 240, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_v_records; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
  for (;;) {
    if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 240, __pyx_L1_error)
    #else
    __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    if (!(likely(PyList_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(0, 240, __pyx_L1_error)
    __Pyx_XDECREF_SET(__pyx_v_record, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;
/* … */
    __Pyx_TraceLine(240,0,__PYX_ERR(0, 240, __pyx_L1_error))
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+241:             self._parse_node(record)
    __Pyx_TraceLine(241,0,__PYX_ERR(0, 241, __pyx_L1_error))
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_parse_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_record) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_record);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 242: 
+243:         self._node_records = list()
  __Pyx_TraceLine(243,0,__PYX_ERR(0, 243, __pyx_L1_error))
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_node_records);
  __Pyx_DECREF(__pyx_v_self->_node_records);
  __pyx_v_self->_node_records = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
 244: 
+245:     def _parse_elem_output(self, record, var):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_13_parse_elem_output(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_12_parse_elem_output[] = "Parse output data for elements.\n\n        Parameters\n        ----------\n        record : list\n        var : str\n            Name of the variable\n\n        Returns\n        -------\n        TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_13_parse_elem_output(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_record = 0;
  PyObject *__pyx_v_var = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_elem_output (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_record,&__pyx_n_s_var,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_record)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_var)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_parse_elem_output", 1, 2, 2, 1); __PYX_ERR(0, 245, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_parse_elem_output") < 0)) __PYX_ERR(0, 245, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_record = values[0];
    __pyx_v_var = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_parse_elem_output", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 245, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_elem_output", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_12_parse_elem_output(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), __pyx_v_record, __pyx_v_var);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_12_parse_elem_output(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record, PyObject *__pyx_v_var) {
  int __pyx_v_step;
  int __pyx_v_inc;
  int __pyx_v_ix;
  double __pyx_v_data;
  PyObject *__pyx_v_flag_out = NULL;
  int __pyx_v_n_elem;
  PyObject *__pyx_v_int_point = NULL;
  int __pyx_v_n_node;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_elem_output", 0);
  __Pyx_TraceCall("_parse_elem_output", __pyx_f[0], 245, 0, __PYX_ERR(0, 245, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_elem_output", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_flag_out);
  __Pyx_XDECREF(__pyx_v_int_point);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 246:         """Parse output data for elements.
 247: 
 248:         Parameters
 249:         ----------
 250:         record : list
 251:         var : str
 252:             Name of the variable
 253: 
 254:         Returns
 255:         -------
 256:         TODO
 257: 
 258:         """
+259:         step = self._curr_step
  __Pyx_TraceLine(259,0,__PYX_ERR(0, 259, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_curr_step;
  __pyx_v_step = __pyx_t_1;
+260:         inc = self._curr_inc
  __Pyx_TraceLine(260,0,__PYX_ERR(0, 260, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_curr_inc;
  __pyx_v_inc = __pyx_t_1;
 261:         ix: cython.int
 262:         data: cython.double
 263: 
 264:         # This flags the type of output: element (0), nodal (1), modal
 265:         # (2), or element set energy (3)
+266:         flag_out = self._flag_output
  __Pyx_TraceLine(266,0,__PYX_ERR(0, 266, __pyx_L1_error))
  __pyx_t_2 = __pyx_v_self->_flag_output;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_v_flag_out = __pyx_t_2;
  __pyx_t_2 = 0;
 267: 
+268:         if flag_out == 0:
  __Pyx_TraceLine(268,0,__PYX_ERR(0, 268, __pyx_L1_error))
  __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_v_flag_out, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 268, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
/* … */
    goto __pyx_L3;
  }
+269:             n_elem = self._curr_elem_out
    __Pyx_TraceLine(269,0,__PYX_ERR(0, 269, __pyx_L1_error))
    __pyx_t_1 = __pyx_v_self->_curr_elem_out;
    __pyx_v_n_elem = __pyx_t_1;
 270:             # Get number of integration points
+271:             int_point = self._curr_n_int_point
    __Pyx_TraceLine(271,0,__PYX_ERR(0, 271, __pyx_L1_error))
    __pyx_t_2 = __pyx_v_self->_curr_n_int_point;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_int_point = __pyx_t_2;
    __pyx_t_2 = 0;
 272: 
 273:             # Append all the records
+274:             for ix, data in enumerate(record[2:], start=1):
    __Pyx_TraceLine(274,0,__PYX_ERR(0, 274, __pyx_L1_error))
    __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_v_record, 2, 0, NULL, NULL, &__pyx_slice__4, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_start, __pyx_int_1) < 0) __PYX_ERR(0, 274, __pyx_L1_error)
    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_enumerate, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
      __pyx_t_2 = __pyx_t_5; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
      __pyx_t_7 = NULL;
    } else {
      __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 274, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 274, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    for (;;) {
      if (likely(!__pyx_t_7)) {
        if (likely(PyList_CheckExact(__pyx_t_2))) {
          if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 274, __pyx_L1_error)
          #else
          __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 274, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          #endif
        } else {
          if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 274, __pyx_L1_error)
          #else
          __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 274, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          #endif
        }
      } else {
        __pyx_t_5 = __pyx_t_7(__pyx_t_2);
        if (unlikely(!__pyx_t_5)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 274, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_5);
      }
      if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) {
        PyObject* sequence = __pyx_t_5;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 274, __pyx_L1_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); 
          __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_4 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_8 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_8);
        #else
        __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 274, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 274, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        #endif
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_9 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 274, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext;
        index = 0; __pyx_t_4 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_4)) goto __pyx_L6_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_4);
        index = 1; __pyx_t_8 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_8)) goto __pyx_L6_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_8);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < 0) __PYX_ERR(0, 274, __pyx_L1_error)
        __pyx_t_10 = NULL;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L7_unpacking_done;
        __pyx_L6_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_10 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 274, __pyx_L1_error)
        __pyx_L7_unpacking_done:;
      }
      __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 274, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 274, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_v_ix = __pyx_t_1;
      __pyx_v_data = __pyx_t_11;
/* … */
      __Pyx_TraceLine(274,0,__PYX_ERR(0, 274, __pyx_L1_error))
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* … */
  __pyx_slice__4 = PySlice_New(__pyx_int_2, Py_None, Py_None); if (unlikely(!__pyx_slice__4)) __PYX_ERR(0, 274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__4);
  __Pyx_GIVEREF(__pyx_slice__4);
+275:                 self._model.add_elem_output(n_elem, f"{var}{ix}", data, step, inc, int_point)
      __Pyx_TraceLine(275,0,__PYX_ERR(0, 275, __pyx_L1_error))
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_elem_output); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 275, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_n_elem); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 275, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_v_var, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 275, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_12 = __Pyx_PyUnicode_From_int(__pyx_v_ix, 0, ' ', 'd'); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 275, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_13 = __Pyx_PyUnicode_Concat(__pyx_t_9, __pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 275, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __pyx_t_12 = PyFloat_FromDouble(__pyx_v_data); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 275, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_step); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 275, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_inc); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 275, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_15 = NULL;
      __pyx_t_1 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
        __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_8);
        if (likely(__pyx_t_15)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
          __Pyx_INCREF(__pyx_t_15);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_8, function);
          __pyx_t_1 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_8)) {
        PyObject *__pyx_temp[7] = {__pyx_t_15, __pyx_t_4, __pyx_t_13, __pyx_t_12, __pyx_t_9, __pyx_t_14, __pyx_v_int_point};
        __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_1, 6+__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 275, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
        PyObject *__pyx_temp[7] = {__pyx_t_15, __pyx_t_4, __pyx_t_13, __pyx_t_12, __pyx_t_9, __pyx_t_14, __pyx_v_int_point};
        __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_1, 6+__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 275, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      } else
      #endif
      {
        __pyx_t_16 = PyTuple_New(6+__pyx_t_1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 275, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_16);
        if (__pyx_t_15) {
          __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_15); __pyx_t_15 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_4);
        PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_1, __pyx_t_4);
        __Pyx_GIVEREF(__pyx_t_13);
        PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_1, __pyx_t_13);
        __Pyx_GIVEREF(__pyx_t_12);
        PyTuple_SET_ITEM(__pyx_t_16, 2+__pyx_t_1, __pyx_t_12);
        __Pyx_GIVEREF(__pyx_t_9);
        PyTuple_SET_ITEM(__pyx_t_16, 3+__pyx_t_1, __pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_14);
        PyTuple_SET_ITEM(__pyx_t_16, 4+__pyx_t_1, __pyx_t_14);
        __Pyx_INCREF(__pyx_v_int_point);
        __Pyx_GIVEREF(__pyx_v_int_point);
        PyTuple_SET_ITEM(__pyx_t_16, 5+__pyx_t_1, __pyx_v_int_point);
        __pyx_t_4 = 0;
        __pyx_t_13 = 0;
        __pyx_t_12 = 0;
        __pyx_t_9 = 0;
        __pyx_t_14 = 0;
        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_16, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 275, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      }
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 276: 
+277:         elif flag_out == 1:
  __Pyx_TraceLine(277,0,__PYX_ERR(0, 277, __pyx_L1_error))
  __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_v_flag_out, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 277, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
/* … */
    goto __pyx_L3;
  }
+278:             n_node = self._curr_elem_out
    __Pyx_TraceLine(278,0,__PYX_ERR(0, 278, __pyx_L1_error))
    __pyx_t_1 = __pyx_v_self->_curr_elem_out;
    __pyx_v_n_node = __pyx_t_1;
 279: 
+280:             for ix, data in enumerate(record[2:], start=1):
    __Pyx_TraceLine(280,0,__PYX_ERR(0, 280, __pyx_L1_error))
    __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_v_record, 2, 0, NULL, NULL, &__pyx_slice__4, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_start, __pyx_int_1) < 0) __PYX_ERR(0, 280, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_enumerate, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
      __pyx_t_2 = __pyx_t_8; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
      __pyx_t_7 = NULL;
    } else {
      __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 280, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 280, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    for (;;) {
      if (likely(!__pyx_t_7)) {
        if (likely(PyList_CheckExact(__pyx_t_2))) {
          if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_8 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 280, __pyx_L1_error)
          #else
          __pyx_t_8 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 280, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          #endif
        } else {
          if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 280, __pyx_L1_error)
          #else
          __pyx_t_8 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 280, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          #endif
        }
      } else {
        __pyx_t_8 = __pyx_t_7(__pyx_t_2);
        if (unlikely(!__pyx_t_8)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 280, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_8);
      }
      if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) {
        PyObject* sequence = __pyx_t_8;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 280, __pyx_L1_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); 
          __pyx_t_16 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_16 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_16);
        #else
        __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 280, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_16 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 280, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_16);
        #endif
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_14 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 280, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_10 = Py_TYPE(__pyx_t_14)->tp_iternext;
        index = 0; __pyx_t_5 = __pyx_t_10(__pyx_t_14); if (unlikely(!__pyx_t_5)) goto __pyx_L10_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_5);
        index = 1; __pyx_t_16 = __pyx_t_10(__pyx_t_14); if (unlikely(!__pyx_t_16)) goto __pyx_L10_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_16);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_14), 2) < 0) __PYX_ERR(0, 280, __pyx_L1_error)
        __pyx_t_10 = NULL;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        goto __pyx_L11_unpacking_done;
        __pyx_L10_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __pyx_t_10 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 280, __pyx_L1_error)
        __pyx_L11_unpacking_done:;
      }
      __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 280, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_11 = __pyx_PyFloat_AsDouble(__pyx_t_16); if (unlikely((__pyx_t_11 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 280, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      __pyx_v_ix = __pyx_t_1;
      __pyx_v_data = __pyx_t_11;
/* … */
      __Pyx_TraceLine(280,0,__PYX_ERR(0, 280, __pyx_L1_error))
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+281:                 self._model.add_nodal_output(n_node, f"{var}{ix}", data, step, inc)
      __Pyx_TraceLine(281,0,__PYX_ERR(0, 281, __pyx_L1_error))
      __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_nodal_output); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 281, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
      __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_n_node); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 281, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_v_var, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 281, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_9 = __Pyx_PyUnicode_From_int(__pyx_v_ix, 0, ' ', 'd'); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 281, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_12 = __Pyx_PyUnicode_Concat(__pyx_t_14, __pyx_t_9); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 281, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __pyx_t_9 = PyFloat_FromDouble(__pyx_v_data); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 281, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_step); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 281, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_inc); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 281, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      __pyx_t_4 = NULL;
      __pyx_t_1 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_16);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_16, function);
          __pyx_t_1 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_16)) {
        PyObject *__pyx_temp[6] = {__pyx_t_4, __pyx_t_5, __pyx_t_12, __pyx_t_9, __pyx_t_14, __pyx_t_13};
        __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_1, 5+__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 281, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_16)) {
        PyObject *__pyx_temp[6] = {__pyx_t_4, __pyx_t_5, __pyx_t_12, __pyx_t_9, __pyx_t_14, __pyx_t_13};
        __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_1, 5+__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 281, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      } else
      #endif
      {
        __pyx_t_15 = PyTuple_New(5+__pyx_t_1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 281, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_15);
        if (__pyx_t_4) {
          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_4); __pyx_t_4 = NULL;
        }
        __Pyx_GIVEREF(__pyx_t_5);
        PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_1, __pyx_t_5);
        __Pyx_GIVEREF(__pyx_t_12);
        PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_1, __pyx_t_12);
        __Pyx_GIVEREF(__pyx_t_9);
        PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_1, __pyx_t_9);
        __Pyx_GIVEREF(__pyx_t_14);
        PyTuple_SET_ITEM(__pyx_t_15, 3+__pyx_t_1, __pyx_t_14);
        __Pyx_GIVEREF(__pyx_t_13);
        PyTuple_SET_ITEM(__pyx_t_15, 4+__pyx_t_1, __pyx_t_13);
        __pyx_t_5 = 0;
        __pyx_t_12 = 0;
        __pyx_t_9 = 0;
        __pyx_t_14 = 0;
        __pyx_t_13 = 0;
        __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_15, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 281, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      }
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
 282: 
+283:         elif flag_out == 2:
  __Pyx_TraceLine(283,0,__PYX_ERR(0, 283, __pyx_L1_error))
  __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_v_flag_out, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 283, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    goto __pyx_L3;
  }
 284:             # TODO: implement modal output
 285:             pass
 286: 
 287:         # flag_out == 3:
 288:         else:
 289:             # TODO: implement set energy output
+290:             pass
  __Pyx_TraceLine(290,0,__PYX_ERR(0, 290, __pyx_L1_error))
  /*else*/ {
  }
  __pyx_L3:;
 291: 
+292:     def _parse_elem_header(self, record):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_15_parse_elem_header(PyObject *__pyx_v_self, PyObject *__pyx_v_record); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_14_parse_elem_header[] = "Parse the element record\n\n        Parameters\n        ----------\n        record : TODO\n\n        Returns\n        -------\n        TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_15_parse_elem_header(PyObject *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_elem_header (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_14_parse_elem_header(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_record));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_14_parse_elem_header(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_v_num = NULL;
  PyObject *__pyx_v_n_int_point = NULL;
  CYTHON_UNUSED PyObject *__pyx_v_n_sec_point = NULL;
  PyObject *__pyx_v_loc_id = NULL;
  CYTHON_UNUSED PyObject *__pyx_v_name_rebar = NULL;
  CYTHON_UNUSED PyObject *__pyx_v_n_direct_stresses = NULL;
  CYTHON_UNUSED PyObject *__pyx_v_n_shear_stresses = NULL;
  CYTHON_UNUSED PyObject *__pyx_v_n_diretions = NULL;
  CYTHON_UNUSED PyObject *__pyx_v_n_sec_force_comp = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_elem_header", 0);
  __Pyx_TraceCall("_parse_elem_header", __pyx_f[0], 292, 0, __PYX_ERR(0, 292, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_elem_header", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_num);
  __Pyx_XDECREF(__pyx_v_n_int_point);
  __Pyx_XDECREF(__pyx_v_n_sec_point);
  __Pyx_XDECREF(__pyx_v_loc_id);
  __Pyx_XDECREF(__pyx_v_name_rebar);
  __Pyx_XDECREF(__pyx_v_n_direct_stresses);
  __Pyx_XDECREF(__pyx_v_n_shear_stresses);
  __Pyx_XDECREF(__pyx_v_n_diretions);
  __Pyx_XDECREF(__pyx_v_n_sec_force_comp);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 293:         """Parse the element record
 294: 
 295:         Parameters
 296:         ----------
 297:         record : TODO
 298: 
 299:         Returns
 300:         -------
 301:         TODO
 302: 
 303:         """
+304:         num = record[2]
  __Pyx_TraceLine(304,0,__PYX_ERR(0, 304, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_num = __pyx_t_1;
  __pyx_t_1 = 0;
+305:         n_int_point = record[3]
  __Pyx_TraceLine(305,0,__PYX_ERR(0, 305, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_n_int_point = __pyx_t_1;
  __pyx_t_1 = 0;
+306:         n_sec_point = record[4]
  __Pyx_TraceLine(306,0,__PYX_ERR(0, 306, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_n_sec_point = __pyx_t_1;
  __pyx_t_1 = 0;
 307:         # loc_id:
 308:         # - 0 if the subsequent records contain data at an integration point;
 309:         # - 1 if the subsequent records contain values at the centroid of the element;
 310:         # - 2 if the subsequent records contain data at the nodes of the element;
 311:         # - 3 if the subsequent records contain data associated with rebar within an element;
 312:         # - 4 if the subsequent records contain nodal averaged values;
 313:         # - 5 if the subsequent records contain values associated with the whole element
+314:         loc_id = record[5]
  __Pyx_TraceLine(314,0,__PYX_ERR(0, 314, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_loc_id = __pyx_t_1;
  __pyx_t_1 = 0;
+315:         name_rebar = record[6]
  __Pyx_TraceLine(315,0,__PYX_ERR(0, 315, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_name_rebar = __pyx_t_1;
  __pyx_t_1 = 0;
+316:         n_direct_stresses = record[7]
  __Pyx_TraceLine(316,0,__PYX_ERR(0, 316, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_n_direct_stresses = __pyx_t_1;
  __pyx_t_1 = 0;
+317:         n_shear_stresses = record[8]
  __Pyx_TraceLine(317,0,__PYX_ERR(0, 317, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_n_shear_stresses = __pyx_t_1;
  __pyx_t_1 = 0;
+318:         n_diretions = record[9]
  __Pyx_TraceLine(318,0,__PYX_ERR(0, 318, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_n_diretions = __pyx_t_1;
  __pyx_t_1 = 0;
+319:         n_sec_force_comp = record[10]
  __Pyx_TraceLine(319,0,__PYX_ERR(0, 319, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 10, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_n_sec_force_comp = __pyx_t_1;
  __pyx_t_1 = 0;
 320: 
 321:         # Append the element/node number to the list of elements/nodes which
 322:         # data is going to be read next
+323:         self._curr_elem_out = num
  __Pyx_TraceLine(323,0,__PYX_ERR(0, 323, __pyx_L1_error))
  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_v_num); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 323, __pyx_L1_error)
  __pyx_v_self->_curr_elem_out = __pyx_t_2;
+324:         self._curr_n_int_point = n_int_point
  __Pyx_TraceLine(324,0,__PYX_ERR(0, 324, __pyx_L1_error))
  __Pyx_INCREF(__pyx_v_n_int_point);
  __Pyx_GIVEREF(__pyx_v_n_int_point);
  __Pyx_GOTREF(__pyx_v_self->_curr_n_int_point);
  __Pyx_DECREF(__pyx_v_self->_curr_n_int_point);
  __pyx_v_self->_curr_n_int_point = __pyx_v_n_int_point;
+325:         self._curr_loc_id = loc_id
  __Pyx_TraceLine(325,0,__PYX_ERR(0, 325, __pyx_L1_error))
  __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_v_loc_id); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 325, __pyx_L1_error)
  __pyx_v_self->_curr_loc_id = __pyx_t_2;
 326:         # self._curr_int_point_data = dict()
 327: 
+328:     def _parse_nodal_output(self, record, var):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_17_parse_nodal_output(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_16_parse_nodal_output[] = "Parse the nodal record\n\n        Parameters\n        ----------\n        record : TODO\n\n        Returns\n        -------\n        TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_17_parse_nodal_output(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_record = 0;
  PyObject *__pyx_v_var = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_nodal_output (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_record,&__pyx_n_s_var,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_record)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_var)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_parse_nodal_output", 1, 2, 2, 1); __PYX_ERR(0, 328, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_parse_nodal_output") < 0)) __PYX_ERR(0, 328, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_record = values[0];
    __pyx_v_var = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_parse_nodal_output", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 328, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_nodal_output", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_16_parse_nodal_output(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), __pyx_v_record, __pyx_v_var);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_16_parse_nodal_output(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record, PyObject *__pyx_v_var) {
  int __pyx_v_step;
  int __pyx_v_inc;
  PyObject *__pyx_v_ix = NULL;
  PyObject *__pyx_v_r_i = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_nodal_output", 0);
  __Pyx_TraceCall("_parse_nodal_output", __pyx_f[0], 328, 0, __PYX_ERR(0, 328, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_nodal_output", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ix);
  __Pyx_XDECREF(__pyx_v_r_i);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 329:         """Parse the nodal record
 330: 
 331:         Parameters
 332:         ----------
 333:         record : TODO
 334: 
 335:         Returns
 336:         -------
 337:         TODO
 338: 
 339:         """
+340:         step = self._curr_step
  __Pyx_TraceLine(340,0,__PYX_ERR(0, 340, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_curr_step;
  __pyx_v_step = __pyx_t_1;
+341:         inc = self._curr_inc
  __Pyx_TraceLine(341,0,__PYX_ERR(0, 341, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_curr_inc;
  __pyx_v_inc = __pyx_t_1;
 342: 
+343:         if len(record) > 2:
  __Pyx_TraceLine(343,0,__PYX_ERR(0, 343, __pyx_L1_error))
  __pyx_t_2 = PyObject_Length(__pyx_v_record); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 343, __pyx_L1_error)
  __pyx_t_3 = ((__pyx_t_2 > 2) != 0);
  if (__pyx_t_3) {
/* … */
    goto __pyx_L3;
  }
+344:             for ix, r_i in enumerate(record[3:], start=1):
    __Pyx_TraceLine(344,0,__PYX_ERR(0, 344, __pyx_L1_error))
    __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_v_record, 3, 0, NULL, NULL, &__pyx_slice__5, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_start, __pyx_int_1) < 0) __PYX_ERR(0, 344, __pyx_L1_error)
    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_enumerate, __pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
      __pyx_t_4 = __pyx_t_6; __Pyx_INCREF(__pyx_t_4); __pyx_t_2 = 0;
      __pyx_t_7 = NULL;
    } else {
      __pyx_t_2 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 344, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 344, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    for (;;) {
      if (likely(!__pyx_t_7)) {
        if (likely(PyList_CheckExact(__pyx_t_4))) {
          if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_4)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_2); __Pyx_INCREF(__pyx_t_6); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 344, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 344, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_2); __Pyx_INCREF(__pyx_t_6); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 344, __pyx_L1_error)
          #else
          __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 344, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        }
      } else {
        __pyx_t_6 = __pyx_t_7(__pyx_t_4);
        if (unlikely(!__pyx_t_6)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 344, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_6);
      }
      if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) {
        PyObject* sequence = __pyx_t_6;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(0, 344, __pyx_L1_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); 
          __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_8 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_8);
        #else
        __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 344, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 344, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        #endif
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_9 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 344, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext;
        index = 0; __pyx_t_5 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_5)) goto __pyx_L6_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_5);
        index = 1; __pyx_t_8 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_8)) goto __pyx_L6_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_8);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < 0) __PYX_ERR(0, 344, __pyx_L1_error)
        __pyx_t_10 = NULL;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L7_unpacking_done;
        __pyx_L6_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_10 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(0, 344, __pyx_L1_error)
        __pyx_L7_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_v_ix, __pyx_t_5);
      __pyx_t_5 = 0;
      __Pyx_XDECREF_SET(__pyx_v_r_i, __pyx_t_8);
      __pyx_t_8 = 0;
/* … */
      __Pyx_TraceLine(344,0,__PYX_ERR(0, 344, __pyx_L1_error))
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* … */
  __pyx_slice__5 = PySlice_New(__pyx_int_3, Py_None, Py_None); if (unlikely(!__pyx_slice__5)) __PYX_ERR(0, 344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__5);
  __Pyx_GIVEREF(__pyx_slice__5);
+345:                 self._model.add_nodal_output(node=record[2], var=f"{var}{ix}", data=r_i,
      __Pyx_TraceLine(345,0,__PYX_ERR(0, 345, __pyx_L1_error))
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_nodal_output); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_8 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_node, __pyx_t_5) < 0) __PYX_ERR(0, 345, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_var, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_v_ix, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_t_5, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_var, __pyx_t_11) < 0) __PYX_ERR(0, 345, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_data, __pyx_v_r_i) < 0) __PYX_ERR(0, 345, __pyx_L1_error)
/* … */
      __Pyx_TraceLine(345,0,__PYX_ERR(0, 345, __pyx_L1_error))
      __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+346:                                             step=step, inc=inc)
      __Pyx_TraceLine(346,0,__PYX_ERR(0, 346, __pyx_L1_error))
      __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_step); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 346, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_step, __pyx_t_11) < 0) __PYX_ERR(0, 345, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_inc); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 346, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_inc, __pyx_t_11) < 0) __PYX_ERR(0, 345, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
 347:         else:
+348:             self._model.add_nodal_output(node=record[0], var=var, data=record[1], step=step,
  __Pyx_TraceLine(348,0,__PYX_ERR(0, 348, __pyx_L1_error))
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_nodal_output); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_11 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_record, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_node, __pyx_t_8) < 0) __PYX_ERR(0, 348, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_var, __pyx_v_var) < 0) __PYX_ERR(0, 348, __pyx_L1_error)
    __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_record, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_data, __pyx_t_8) < 0) __PYX_ERR(0, 348, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_step); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_step, __pyx_t_8) < 0) __PYX_ERR(0, 348, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
/* … */
    __Pyx_TraceLine(348,0,__PYX_ERR(0, 348, __pyx_L1_error))
    __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_11); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  }
  __pyx_L3:;
+349:                                         inc=inc)
    __Pyx_TraceLine(349,0,__PYX_ERR(0, 349, __pyx_L1_error))
    __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_inc); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_inc, __pyx_t_8) < 0) __PYX_ERR(0, 348, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
 350: 
+351:         return 1
  __Pyx_TraceLine(351,0,__PYX_ERR(0, 351, __pyx_L1_error))
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_int_1);
  __pyx_r = __pyx_int_1;
  goto __pyx_L0;
 352: 
+353:     def _parse_surface_output(self, record, var):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_19_parse_surface_output(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_18_parse_surface_output[] = "Parse results from surfaces.\n\n        Parameters\n        ----------\n        record : TODO\n        var : str\n            Name of the variable to be processed, e.g.: \"CSTRESS\"\n\n        Returns\n        -------\n        TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_19_parse_surface_output(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_record = 0;
  PyObject *__pyx_v_var = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_surface_output (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_record,&__pyx_n_s_var,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_record)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_var)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_parse_surface_output", 1, 2, 2, 1); __PYX_ERR(0, 353, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_parse_surface_output") < 0)) __PYX_ERR(0, 353, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_record = values[0];
    __pyx_v_var = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_parse_surface_output", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 353, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_surface_output", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_18_parse_surface_output(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), __pyx_v_record, __pyx_v_var);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_18_parse_surface_output(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record, PyObject *__pyx_v_var) {
  int __pyx_v_step;
  int __pyx_v_inc;
  PyObject *__pyx_v_node = NULL;
  PyObject *__pyx_v_ix = NULL;
  PyObject *__pyx_v_comp_i = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_surface_output", 0);
  __Pyx_TraceCall("_parse_surface_output", __pyx_f[0], 353, 0, __PYX_ERR(0, 353, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_surface_output", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_node);
  __Pyx_XDECREF(__pyx_v_ix);
  __Pyx_XDECREF(__pyx_v_comp_i);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 354:         """Parse results from surfaces.
 355: 
 356:         Parameters
 357:         ----------
 358:         record : TODO
 359:         var : str
 360:             Name of the variable to be processed, e.g.: "CSTRESS"
 361: 
 362:         Returns
 363:         -------
 364:         TODO
 365: 
 366:         """
+367:         step = self._curr_step
  __Pyx_TraceLine(367,0,__PYX_ERR(0, 367, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_curr_step;
  __pyx_v_step = __pyx_t_1;
+368:         inc = self._curr_inc
  __Pyx_TraceLine(368,0,__PYX_ERR(0, 368, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_curr_inc;
  __pyx_v_inc = __pyx_t_1;
+369:         node = self._curr_output_node
  __Pyx_TraceLine(369,0,__PYX_ERR(0, 369, __pyx_L1_error))
  __pyx_t_2 = __pyx_v_self->_curr_output_node;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_v_node = __pyx_t_2;
  __pyx_t_2 = 0;
 370: 
+371:         for ix, comp_i in enumerate(record[2:]):
  __Pyx_TraceLine(371,0,__PYX_ERR(0, 371, __pyx_L1_error))
  __Pyx_INCREF(__pyx_int_0);
  __pyx_t_2 = __pyx_int_0;
  __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_record, 2, 0, NULL, NULL, &__pyx_slice__4, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
    __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
    __pyx_t_6 = NULL;
  } else {
    __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 371, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  for (;;) {
    if (likely(!__pyx_t_6)) {
      if (likely(PyList_CheckExact(__pyx_t_4))) {
        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 371, __pyx_L1_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 371, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
      } else {
        if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 371, __pyx_L1_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 371, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
      }
    } else {
      __pyx_t_3 = __pyx_t_6(__pyx_t_4);
      if (unlikely(!__pyx_t_3)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 371, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_XDECREF_SET(__pyx_v_comp_i, __pyx_t_3);
    __pyx_t_3 = 0;
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_ix, __pyx_t_2);
    __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2);
    __pyx_t_2 = __pyx_t_3;
    __pyx_t_3 = 0;
/* … */
    __Pyx_TraceLine(371,0,__PYX_ERR(0, 371, __pyx_L1_error))
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+372:             self._model.add_nodal_output(node=node, var=self.CONTACT_OUT[var][ix],
    __Pyx_TraceLine(372,0,__PYX_ERR(0, 372, __pyx_L1_error))
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_nodal_output); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_node, __pyx_v_node) < 0) __PYX_ERR(0, 372, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_CONTACT_OUT); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_var); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_ix); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_var, __pyx_t_8) < 0) __PYX_ERR(0, 372, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
/* … */
    __Pyx_TraceLine(372,0,__PYX_ERR(0, 372, __pyx_L1_error))
    __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+373:                                         data=comp_i, step=step, inc=inc)
    __Pyx_TraceLine(373,0,__PYX_ERR(0, 373, __pyx_L1_error))
    if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_data, __pyx_v_comp_i) < 0) __PYX_ERR(0, 372, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_step); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_step, __pyx_t_8) < 0) __PYX_ERR(0, 372, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_inc); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_inc, __pyx_t_8) < 0) __PYX_ERR(0, 372, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
 374: 
+375:     def _parse_contact_output_request(self, record):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_21_parse_contact_output_request(PyObject *__pyx_v_self, PyObject *__pyx_v_record); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_20_parse_contact_output_request[] = "Parse surfaces and nodes associated to contact pair.\n\n        Parameters\n        ----------\n        record : TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_21_parse_contact_output_request(PyObject *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_contact_output_request (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_20_parse_contact_output_request(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_record));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_20_parse_contact_output_request(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_v_id_slave = NULL;
  PyObject *__pyx_v_id_master = NULL;
  PyObject *__pyx_v_name_slave = NULL;
  PyObject *__pyx_v_name_master = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_contact_output_request", 0);
  __Pyx_TraceCall("_parse_contact_output_request", __pyx_f[0], 375, 0, __PYX_ERR(0, 375, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_contact_output_request", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_id_slave);
  __Pyx_XDECREF(__pyx_v_id_master);
  __Pyx_XDECREF(__pyx_v_name_slave);
  __Pyx_XDECREF(__pyx_v_name_master);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 376:         """Parse surfaces and nodes associated to contact pair.
 377: 
 378:         Parameters
 379:         ----------
 380:         record : TODO
 381: 
 382:         """
+383:         id_slave = int(record[3].strip())
  __Pyx_TraceLine(383,0,__PYX_ERR(0, 383, __pyx_L1_error))
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_record, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_strip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_id_slave = __pyx_t_3;
  __pyx_t_3 = 0;
+384:         id_master = int(record[4].strip())
  __Pyx_TraceLine(384,0,__PYX_ERR(0, 384, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_strip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_1)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_id_master = __pyx_t_2;
  __pyx_t_2 = 0;
+385:         name_slave = self._label_cross_ref[id_slave]
  __Pyx_TraceLine(385,0,__PYX_ERR(0, 385, __pyx_L1_error))
  if (unlikely(__pyx_v_self->_label_cross_ref == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 385, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_self->_label_cross_ref, __pyx_v_id_slave); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_name_slave = __pyx_t_2;
  __pyx_t_2 = 0;
+386:         name_master = self._label_cross_ref[id_master]
  __Pyx_TraceLine(386,0,__PYX_ERR(0, 386, __pyx_L1_error))
  if (unlikely(__pyx_v_self->_label_cross_ref == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 386, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_self->_label_cross_ref, __pyx_v_id_master); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_name_master = __pyx_t_2;
  __pyx_t_2 = 0;
+387:         self._model.add_contact_pair(master=name_master, slave=name_slave)
  __Pyx_TraceLine(387,0,__PYX_ERR(0, 387, __pyx_L1_error))
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_contact_pair); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_master, __pyx_v_name_master) < 0) __PYX_ERR(0, 387, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_slave, __pyx_v_name_slave) < 0) __PYX_ERR(0, 387, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 388: 
+389:     def _parse_curr_contact_node(self, record):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_23_parse_curr_contact_node(PyObject *__pyx_v_self, PyObject *__pyx_v_record); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_22_parse_curr_contact_node[] = "Parse the current node associated to the surface output.\n\n        Parameters\n        ----------\n        record : TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_23_parse_curr_contact_node(PyObject *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_curr_contact_node (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_22_parse_curr_contact_node(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_record));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_22_parse_curr_contact_node(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_curr_contact_node", 0);
  __Pyx_TraceCall("_parse_curr_contact_node", __pyx_f[0], 389, 0, __PYX_ERR(0, 389, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_curr_contact_node", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 390:         """Parse the current node associated to the surface output.
 391: 
 392:         Parameters
 393:         ----------
 394:         record : TODO
 395: 
 396:         """
+397:         self._curr_output_node = record[2]
  __Pyx_TraceLine(397,0,__PYX_ERR(0, 397, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_curr_output_node);
  __Pyx_DECREF(__pyx_v_self->_curr_output_node);
  __pyx_v_self->_curr_output_node = __pyx_t_1;
  __pyx_t_1 = 0;
+398:         self._no_of_components = record[3]
  __Pyx_TraceLine(398,0,__PYX_ERR(0, 398, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_no_of_components, __pyx_t_1) < 0) __PYX_ERR(0, 398, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 399: 
+400:     def _parse_output_request(self, record):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_25_parse_output_request(PyObject *__pyx_v_self, PyObject *__pyx_v_record); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_24_parse_output_request[] = "Parse the output request\n\n        Parameters\n        ----------\n        record : TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_25_parse_output_request(PyObject *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_output_request (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_24_parse_output_request(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_record));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_24_parse_output_request(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_output_request", 0);
  __Pyx_TraceCall("_parse_output_request", __pyx_f[0], 400, 0, __PYX_ERR(0, 400, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_output_request", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 401:         """Parse the output request
 402: 
 403:         Parameters
 404:         ----------
 405:         record : TODO
 406: 
 407:         """
+408:         self._flag_output = record[2]
  __Pyx_TraceLine(408,0,__PYX_ERR(0, 408, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_flag_output);
  __Pyx_DECREF(__pyx_v_self->_flag_output);
  __pyx_v_self->_flag_output = __pyx_t_1;
  __pyx_t_1 = 0;
+409:         self._output_request_set = record[3]
  __Pyx_TraceLine(409,0,__PYX_ERR(0, 409, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 409, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->_output_request_set);
  __Pyx_DECREF(__pyx_v_self->_output_request_set);
  __pyx_v_self->_output_request_set = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+410:         if self._flag_output == 0:
  __Pyx_TraceLine(410,0,__PYX_ERR(0, 410, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_self->_flag_output, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 410, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {
/* … */
  }
+411:             self._output_elem_type = record[4]
    __Pyx_TraceLine(411,0,__PYX_ERR(0, 411, __pyx_L1_error))
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 411, __pyx_L1_error)
    __Pyx_GIVEREF(__pyx_t_1);
    __Pyx_GOTREF(__pyx_v_self->_output_elem_type);
    __Pyx_DECREF(__pyx_v_self->_output_elem_type);
    __pyx_v_self->_output_elem_type = ((PyObject*)__pyx_t_1);
    __pyx_t_1 = 0;
 412: 
+413:     def _parse_step(self, record, flag):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_27_parse_step(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_26_parse_step[] = "Parse the current step\n\n        Parameters\n        ----------\n        record : TODO\n\n        Returns\n        -------\n        TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_27_parse_step(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_record = 0;
  PyObject *__pyx_v_flag = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_step (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_record,&__pyx_n_s_flag,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_record)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flag)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_parse_step", 1, 2, 2, 1); __PYX_ERR(0, 413, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_parse_step") < 0)) __PYX_ERR(0, 413, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_record = values[0];
    __pyx_v_flag = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_parse_step", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 413, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_step", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_26_parse_step(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), __pyx_v_record, __pyx_v_flag);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_26_parse_step(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record, PyObject *__pyx_v_flag) {
  PyObject *__pyx_v_n_step = NULL;
  PyObject *__pyx_v_n_inc = NULL;
  PyObject *__pyx_v_data = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_step", 0);
  __Pyx_TraceCall("_parse_step", __pyx_f[0], 413, 0, __PYX_ERR(0, 413, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_step", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n_step);
  __Pyx_XDECREF(__pyx_v_n_inc);
  __Pyx_XDECREF(__pyx_v_data);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 414:         """Parse the current step
 415: 
 416:         Parameters
 417:         ----------
 418:         record : TODO
 419: 
 420:         Returns
 421:         -------
 422:         TODO
 423: 
 424:         """
+425:         if flag == "start":
  __Pyx_TraceLine(425,0,__PYX_ERR(0, 425, __pyx_L1_error))
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_flag, __pyx_n_u_start, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 425, __pyx_L1_error)
  if (__pyx_t_1) {
/* … */
    goto __pyx_L3;
  }
+426:             n_step = record[7]
    __Pyx_TraceLine(426,0,__PYX_ERR(0, 426, __pyx_L1_error))
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_record, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 426, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_n_step = __pyx_t_2;
    __pyx_t_2 = 0;
+427:             n_inc = record[8]
    __Pyx_TraceLine(427,0,__PYX_ERR(0, 427, __pyx_L1_error))
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_record, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 427, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_n_inc = __pyx_t_2;
    __pyx_t_2 = 0;
 428: 
 429:             data = {
+430:                 "total time": record[2],
    __Pyx_TraceLine(430,0,__PYX_ERR(0, 430, __pyx_L1_error))
    __pyx_t_2 = __Pyx_PyDict_NewPresized(12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 430, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 430, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_total_time, __pyx_t_3) < 0) __PYX_ERR(0, 430, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+431:                 "step time": record[3],
    __Pyx_TraceLine(431,0,__PYX_ERR(0, 431, __pyx_L1_error))
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 431, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_step_time, __pyx_t_3) < 0) __PYX_ERR(0, 430, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+432:                 "max creep": record[4],
    __Pyx_TraceLine(432,0,__PYX_ERR(0, 432, __pyx_L1_error))
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_max_creep, __pyx_t_3) < 0) __PYX_ERR(0, 430, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+433:                 "solution amplitude": record[5],
    __Pyx_TraceLine(433,0,__PYX_ERR(0, 433, __pyx_L1_error))
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 433, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_solution_amplitude, __pyx_t_3) < 0) __PYX_ERR(0, 430, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+434:                 "procedure type": record[6],
    __Pyx_TraceLine(434,0,__PYX_ERR(0, 434, __pyx_L1_error))
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_procedure_type, __pyx_t_3) < 0) __PYX_ERR(0, 430, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+435:                 "step number": record[7],
    __Pyx_TraceLine(435,0,__PYX_ERR(0, 435, __pyx_L1_error))
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_step_number, __pyx_t_3) < 0) __PYX_ERR(0, 430, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+436:                 "increment number": record[8],
    __Pyx_TraceLine(436,0,__PYX_ERR(0, 436, __pyx_L1_error))
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 8, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 436, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_increment_number, __pyx_t_3) < 0) __PYX_ERR(0, 430, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+437:                 "linear perturbation": record[9],
    __Pyx_TraceLine(437,0,__PYX_ERR(0, 437, __pyx_L1_error))
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 437, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_linear_perturbation, __pyx_t_3) < 0) __PYX_ERR(0, 430, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+438:                 "load proportionality": record[10],
    __Pyx_TraceLine(438,0,__PYX_ERR(0, 438, __pyx_L1_error))
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 10, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_load_proportionality, __pyx_t_3) < 0) __PYX_ERR(0, 430, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+439:                 "frequency": record[11],
    __Pyx_TraceLine(439,0,__PYX_ERR(0, 439, __pyx_L1_error))
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 11, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_frequency, __pyx_t_3) < 0) __PYX_ERR(0, 430, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+440:                 "time increment": record[12],
    __Pyx_TraceLine(440,0,__PYX_ERR(0, 440, __pyx_L1_error))
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 12, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_2, __pyx_kp_u_time_increment, __pyx_t_3) < 0) __PYX_ERR(0, 430, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+441:                 "subheading": "".join(record[13:]),
    __Pyx_TraceLine(441,0,__PYX_ERR(0, 441, __pyx_L1_error))
    __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_record, 13, 0, NULL, NULL, &__pyx_slice__6, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 441, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyUnicode_Join(__pyx_kp_u_, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 441, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_subheading, __pyx_t_4) < 0) __PYX_ERR(0, 430, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_data = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
/* … */
  __pyx_slice__6 = PySlice_New(__pyx_int_13, Py_None, Py_None); if (unlikely(!__pyx_slice__6)) __PYX_ERR(0, 441, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__6);
  __Pyx_GIVEREF(__pyx_slice__6);
 442:             }
 443: 
+444:             self._model.add_step(n_step, data)
    __Pyx_TraceLine(444,0,__PYX_ERR(0, 444, __pyx_L1_error))
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_step); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 444, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = NULL;
    __pyx_t_5 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
        __pyx_t_5 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_n_step, __pyx_v_data};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 444, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
      PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_n_step, __pyx_v_data};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 444, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    {
      __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 444, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (__pyx_t_3) {
        __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL;
      }
      __Pyx_INCREF(__pyx_v_n_step);
      __Pyx_GIVEREF(__pyx_v_n_step);
      PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_n_step);
      __Pyx_INCREF(__pyx_v_data);
      __Pyx_GIVEREF(__pyx_v_data);
      PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_data);
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 444, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 445: 
+446:             self._curr_step = n_step
    __Pyx_TraceLine(446,0,__PYX_ERR(0, 446, __pyx_L1_error))
    __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_v_n_step); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 446, __pyx_L1_error)
    __pyx_v_self->_curr_step = __pyx_t_5;
+447:             self._curr_inc = n_inc
    __Pyx_TraceLine(447,0,__PYX_ERR(0, 447, __pyx_L1_error))
    __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_v_n_inc); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 447, __pyx_L1_error)
    __pyx_v_self->_curr_inc = __pyx_t_5;
 448:         else:
+449:             self._curr_step = -1
  __Pyx_TraceLine(449,0,__PYX_ERR(0, 449, __pyx_L1_error))
  /*else*/ {
    __pyx_v_self->_curr_step = -1;
+450:             self._curr_inc = -1
    __Pyx_TraceLine(450,0,__PYX_ERR(0, 450, __pyx_L1_error))
    __pyx_v_self->_curr_inc = -1;
  }
  __pyx_L3:;
 451: 
+452:     def _parse_active_dof(self, record):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_29_parse_active_dof(PyObject *__pyx_v_self, PyObject *__pyx_v_record); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_28_parse_active_dof[] = "Parse the active degrees of freedom.\n\n        Parameters\n        ----------\n        record : TODO\n\n        Returns\n        -------\n        TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_29_parse_active_dof(PyObject *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_active_dof (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_28_parse_active_dof(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_record));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_28_parse_active_dof(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_v_active_dof = NULL;
  PyObject *__pyx_v_dimension = NULL;
  PyObject *__pyx_7genexpr__pyx_v_k = NULL;
  PyObject *__pyx_7genexpr__pyx_v_val = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_active_dof", 0);
  __Pyx_TraceCall("_parse_active_dof", __pyx_f[0], 452, 0, __PYX_ERR(0, 452, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_active_dof", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_active_dof);
  __Pyx_XDECREF(__pyx_v_dimension);
  __Pyx_XDECREF(__pyx_7genexpr__pyx_v_k);
  __Pyx_XDECREF(__pyx_7genexpr__pyx_v_val);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 453:         """Parse the active degrees of freedom.
 454: 
 455:         Parameters
 456:         ----------
 457:         record : TODO
 458: 
 459:         Returns
 460:         -------
 461:         TODO
 462: 
 463:         """
+464:         active_dof = np.array(record[2:], dtype=int)
  __Pyx_TraceLine(464,0,__PYX_ERR(0, 464, __pyx_L1_error))
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_record, 2, 0, NULL, NULL, &__pyx_slice__4, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 464, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_active_dof = __pyx_t_4;
  __pyx_t_4 = 0;
+465:         dimension = np.sum(np.not_equal(active_dof[:3], np.zeros(3)), dtype=int)
  __Pyx_TraceLine(465,0,__PYX_ERR(0, 465, __pyx_L1_error))
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_sum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_not_equal); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_active_dof, 0, 3, NULL, NULL, &__pyx_slice__7, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
    }
  }
  __pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_6, __pyx_int_3) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_int_3);
  __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_3, __pyx_t_5};
    __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 465, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_3, __pyx_t_5};
    __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 465, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  } else
  #endif
  {
    __pyx_t_6 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 465, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__pyx_t_7) {
      __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_7); __pyx_t_7 = NULL;
    }
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_8, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_8, __pyx_t_5);
    __pyx_t_3 = 0;
    __pyx_t_5 = 0;
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 465, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4);
  __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, ((PyObject *)(&PyInt_Type))) < 0) __PYX_ERR(0, 465, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_dimension = __pyx_t_6;
  __pyx_t_6 = 0;
/* … */
  __pyx_slice__7 = PySlice_New(Py_None, __pyx_int_3, Py_None); if (unlikely(!__pyx_slice__7)) __PYX_ERR(0, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__7);
  __Pyx_GIVEREF(__pyx_slice__7);
+466:         self._model_dimension = dimension
  __Pyx_TraceLine(466,0,__PYX_ERR(0, 466, __pyx_L1_error))
  __Pyx_INCREF(__pyx_v_dimension);
  __Pyx_GIVEREF(__pyx_v_dimension);
  __Pyx_GOTREF(__pyx_v_self->_model_dimension);
  __Pyx_DECREF(__pyx_v_self->_model_dimension);
  __pyx_v_self->_model_dimension = __pyx_v_dimension;
+467:         self._model._dimension = dimension
  __Pyx_TraceLine(467,0,__PYX_ERR(0, 467, __pyx_L1_error))
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self->_model, __pyx_n_s_dimension, __pyx_v_dimension) < 0) __PYX_ERR(0, 467, __pyx_L1_error)
 468: 
 469:         # (k + 1): because the dof's start at 1
 470:         # (val -1): because they will be reference to a list, which is 0-indexed
+471:         self._dof_map = {(k + 1): (val - 1) if val != 0 else 0
  __Pyx_TraceLine(471,0,__PYX_ERR(0, 471, __pyx_L1_error))
  { /* enter inner scope */
    __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 471, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_INCREF(__pyx_int_0);
    __pyx_t_4 = __pyx_int_0;
/* … */
      __Pyx_TraceLine(471,0,__PYX_ERR(0, 471, __pyx_L5_error))
      __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_7genexpr__pyx_v_k, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 471, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyInt_NeObjC(__pyx_7genexpr__pyx_v_val, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 471, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 471, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (__pyx_t_11) {
        __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_7genexpr__pyx_v_val, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 471, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __pyx_t_3;
        __pyx_t_3 = 0;
      } else {
        __Pyx_INCREF(__pyx_int_0);
        __pyx_t_5 = __pyx_int_0;
      }
      if (unlikely(PyDict_SetItem(__pyx_t_6, (PyObject*)__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 471, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
  __Pyx_TraceLine(471,0,__PYX_ERR(0, 471, __pyx_L1_error))
  __Pyx_GIVEREF(__pyx_t_6);
  __Pyx_GOTREF(__pyx_v_self->_dof_map);
  __Pyx_DECREF(__pyx_v_self->_dof_map);
  __pyx_v_self->_dof_map = ((PyObject*)__pyx_t_6);
  __pyx_t_6 = 0;
+472:                          for k, val in enumerate(active_dof)}
    __Pyx_TraceLine(472,0,__PYX_ERR(0, 472, __pyx_L5_error))
    if (likely(PyList_CheckExact(__pyx_v_active_dof)) || PyTuple_CheckExact(__pyx_v_active_dof)) {
      __pyx_t_2 = __pyx_v_active_dof; __Pyx_INCREF(__pyx_t_2); __pyx_t_9 = 0;
      __pyx_t_10 = NULL;
    } else {
      __pyx_t_9 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_active_dof); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 472, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_10 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 472, __pyx_L5_error)
    }
    for (;;) {
      if (likely(!__pyx_t_10)) {
        if (likely(PyList_CheckExact(__pyx_t_2))) {
          if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_2)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 472, __pyx_L5_error)
          #else
          __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 472, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_1);
          #endif
        } else {
          if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 472, __pyx_L5_error)
          #else
          __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 472, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_1);
          #endif
        }
      } else {
        __pyx_t_1 = __pyx_t_10(__pyx_t_2);
        if (unlikely(!__pyx_t_1)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 472, __pyx_L5_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_val, __pyx_t_1);
      __pyx_t_1 = 0;
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_k, __pyx_t_4);
      __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 472, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_4);
      __pyx_t_4 = __pyx_t_1;
      __pyx_t_1 = 0;
/* … */
      __Pyx_TraceLine(472,0,__PYX_ERR(0, 472, __pyx_L5_error))
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_7genexpr__pyx_v_k); __pyx_7genexpr__pyx_v_k = 0;
    __Pyx_XDECREF(__pyx_7genexpr__pyx_v_val); __pyx_7genexpr__pyx_v_val = 0;
    goto __pyx_L8_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_7genexpr__pyx_v_k); __pyx_7genexpr__pyx_v_k = 0;
    __Pyx_XDECREF(__pyx_7genexpr__pyx_v_val); __pyx_7genexpr__pyx_v_val = 0;
    goto __pyx_L1_error;
    __pyx_L8_exit_scope:;
  } /* exit inner scope */
 473: 
 474:         # Process all nodes
+475:         self._parse_all_nodes()
  __Pyx_TraceLine(475,0,__PYX_ERR(0, 475, __pyx_L1_error))
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_parse_all_nodes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 476: 
+477:     def _parse_set(self, record, add, s_type):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_31_parse_set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_30_parse_set[] = "Parse the element sets\n\n        Parameters\n        ----------\n        record : TODO\n        add : bool\n            Flags whether records are added to an existing set a new set has to be\n            created.\n        s_type : str\n            Type of set (\"element\", \"node\")\n\n        Returns\n        -------\n        TODO\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_31_parse_set(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_record = 0;
  PyObject *__pyx_v_add = 0;
  PyObject *__pyx_v_s_type = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_set (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_record,&__pyx_n_s_add,&__pyx_n_s_s_type,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_record)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_add)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_parse_set", 1, 3, 3, 1); __PYX_ERR(0, 477, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_s_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_parse_set", 1, 3, 3, 2); __PYX_ERR(0, 477, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_parse_set") < 0)) __PYX_ERR(0, 477, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_record = values[0];
    __pyx_v_add = values[1];
    __pyx_v_s_type = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_parse_set", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 477, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_30_parse_set(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), __pyx_v_record, __pyx_v_add, __pyx_v_s_type);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_30_parse_set(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record, PyObject *__pyx_v_add, PyObject *__pyx_v_s_type) {
  PyObject *__pyx_v_elements = NULL;
  PyObject *__pyx_v_ref = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_set", 0);
  __Pyx_TraceCall("_parse_set", __pyx_f[0], 477, 0, __PYX_ERR(0, 477, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_set", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_elements);
  __Pyx_XDECREF(__pyx_v_ref);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 478:         """Parse the element sets
 479: 
 480:         Parameters
 481:         ----------
 482:         record : TODO
 483:         add : bool
 484:             Flags whether records are added to an existing set a new set has to be
 485:             created.
 486:         s_type : str
 487:             Type of set ("element", "node")
 488: 
 489:         Returns
 490:         -------
 491:         TODO
 492: 
 493:         """
 494: 
+495:         if add:
  __Pyx_TraceLine(495,0,__PYX_ERR(0, 495, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_add); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 495, __pyx_L1_error)
  if (__pyx_t_1) {
/* … */
    goto __pyx_L3;
  }
+496:             elements = record[2:]
    __Pyx_TraceLine(496,0,__PYX_ERR(0, 496, __pyx_L1_error))
    __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_v_record, 2, 0, NULL, NULL, &__pyx_slice__4, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_elements = __pyx_t_2;
    __pyx_t_2 = 0;
+497:             ref = self._curr_set
    __Pyx_TraceLine(497,0,__PYX_ERR(0, 497, __pyx_L1_error))
    __pyx_t_2 = __pyx_v_self->_curr_set;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_ref = __pyx_t_2;
    __pyx_t_2 = 0;
+498:             self._tmp_sets[s_type][ref].extend(elements)
    __Pyx_TraceLine(498,0,__PYX_ERR(0, 498, __pyx_L1_error))
    if (unlikely(__pyx_v_self->_tmp_sets == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 498, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_self->_tmp_sets, __pyx_v_s_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_ref); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_extend); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
      }
    }
    __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_elements) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_elements);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 499:         else:
+500:             elements = record[3:]
  __Pyx_TraceLine(500,0,__PYX_ERR(0, 500, __pyx_L1_error))
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_v_record, 3, 0, NULL, NULL, &__pyx_slice__5, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 500, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_elements = __pyx_t_2;
    __pyx_t_2 = 0;
+501:             ref = int(record[2].strip())
    __Pyx_TraceLine(501,0,__PYX_ERR(0, 501, __pyx_L1_error))
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 501, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 501, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 501, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 501, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ref = __pyx_t_4;
    __pyx_t_4 = 0;
+502:             self._curr_set = ref
    __Pyx_TraceLine(502,0,__PYX_ERR(0, 502, __pyx_L1_error))
    __Pyx_INCREF(__pyx_v_ref);
    __Pyx_GIVEREF(__pyx_v_ref);
    __Pyx_GOTREF(__pyx_v_self->_curr_set);
    __Pyx_DECREF(__pyx_v_self->_curr_set);
    __pyx_v_self->_curr_set = __pyx_v_ref;
+503:             self._tmp_sets[s_type][ref] = elements
    __Pyx_TraceLine(503,0,__PYX_ERR(0, 503, __pyx_L1_error))
    if (unlikely(__pyx_v_self->_tmp_sets == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 503, __pyx_L1_error)
    }
    __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_self->_tmp_sets, __pyx_v_s_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 503, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_v_ref, __pyx_v_elements) < 0)) __PYX_ERR(0, 503, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_L3:;
 504: 
+505:     def _parse_surface(self, record, add_face):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_33_parse_surface(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_32_parse_surface[] = "Parse the surface records.\n\n        Parameters\n        ----------\n        record : list\n            Record entry from the *.fil file.\n        add_face : bool\n            Flag to determine whether a face has to be added to an existing surface\n            (True), or whether a new surfaces has to be created (False)\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_33_parse_surface(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_record = 0;
  PyObject *__pyx_v_add_face = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_surface (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_record,&__pyx_n_s_add_face,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_record)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_add_face)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_parse_surface", 1, 2, 2, 1); __PYX_ERR(0, 505, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_parse_surface") < 0)) __PYX_ERR(0, 505, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_record = values[0];
    __pyx_v_add_face = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_parse_surface", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 505, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_surface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_32_parse_surface(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), __pyx_v_record, __pyx_v_add_face);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_32_parse_surface(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record, PyObject *__pyx_v_add_face) {
  PyObject *__pyx_v_label = NULL;
  PyObject *__pyx_v_face_info = NULL;
  PyObject *__pyx_v_s_type = NULL;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_dim = NULL;
  CYTHON_UNUSED PyObject *__pyx_v_n_faces = NULL;
  PyObject *__pyx_v_n_slaves = NULL;
  PyObject *__pyx_v_master_names = NULL;
  PyObject *__pyx_v_ref_label = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_surface", 0);
  __Pyx_TraceCall("_parse_surface", __pyx_f[0], 505, 0, __PYX_ERR(0, 505, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_surface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_label);
  __Pyx_XDECREF(__pyx_v_face_info);
  __Pyx_XDECREF(__pyx_v_s_type);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_dim);
  __Pyx_XDECREF(__pyx_v_n_faces);
  __Pyx_XDECREF(__pyx_v_n_slaves);
  __Pyx_XDECREF(__pyx_v_master_names);
  __Pyx_XDECREF(__pyx_v_ref_label);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 506:         """Parse the surface records.
 507: 
 508:         Parameters
 509:         ----------
 510:         record : list
 511:             Record entry from the *.fil file.
 512:         add_face : bool
 513:             Flag to determine whether a face has to be added to an existing surface
 514:             (True), or whether a new surfaces has to be created (False)
 515: 
 516:         """
+517:         if add_face:
  __Pyx_TraceLine(517,0,__PYX_ERR(0, 517, __pyx_L1_error))
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_add_face); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 517, __pyx_L1_error)
  if (__pyx_t_1) {
/* … */
    goto __pyx_L3;
  }
 518:             # Add faces to existing surface
+519:             label = self._curr_surface
    __Pyx_TraceLine(519,0,__PYX_ERR(0, 519, __pyx_L1_error))
    __pyx_t_2 = __pyx_v_self->_curr_surface;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_label = __pyx_t_2;
    __pyx_t_2 = 0;
 520: 
 521:             face_info = {
+522:                 "element": record[2],
    __Pyx_TraceLine(522,0,__PYX_ERR(0, 522, __pyx_L1_error))
    __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_element, __pyx_t_3) < 0) __PYX_ERR(0, 522, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+523:                 "face": record[3],
    __Pyx_TraceLine(523,0,__PYX_ERR(0, 523, __pyx_L1_error))
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_face, __pyx_t_3) < 0) __PYX_ERR(0, 522, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+524:                 "nodes": record[5:],
    __Pyx_TraceLine(524,0,__PYX_ERR(0, 524, __pyx_L1_error))
    __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_record, 5, 0, NULL, NULL, &__pyx_slice__8, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 524, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_nodes, __pyx_t_3) < 0) __PYX_ERR(0, 522, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_face_info = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;
/* … */
  __pyx_slice__8 = PySlice_New(__pyx_int_5, Py_None, Py_None); if (unlikely(!__pyx_slice__8)) __PYX_ERR(0, 524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__8);
  __Pyx_GIVEREF(__pyx_slice__8);
 525:             }
+526:             self._tmp_faces[label].append(face_info)
    __Pyx_TraceLine(526,0,__PYX_ERR(0, 526, __pyx_L1_error))
    if (unlikely(__pyx_v_self->_tmp_faces == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 526, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_self->_tmp_faces, __pyx_v_label); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_Append(__pyx_t_2, __pyx_v_face_info); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 526, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 527: 
 528:         else:
 529:             # Create new surface container
+530:             s_type = record[4]
  __Pyx_TraceLine(530,0,__PYX_ERR(0, 530, __pyx_L1_error))
  /*else*/ {
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_record, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_s_type = __pyx_t_2;
    __pyx_t_2 = 0;
+531:             name = int(record[2].strip())
    __Pyx_TraceLine(531,0,__PYX_ERR(0, 531, __pyx_L1_error))
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_5, function);
      }
    }
    __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_name = __pyx_t_5;
    __pyx_t_5 = 0;
+532:             dim = record[3]
    __Pyx_TraceLine(532,0,__PYX_ERR(0, 532, __pyx_L1_error))
    __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_record, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 532, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_dim = __pyx_t_5;
    __pyx_t_5 = 0;
+533:             n_faces = record[5]
    __Pyx_TraceLine(533,0,__PYX_ERR(0, 533, __pyx_L1_error))
    __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_record, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_v_n_faces = __pyx_t_5;
    __pyx_t_5 = 0;
 534: 
 535:             # Set temporary variable
+536:             self._curr_surface = name
    __Pyx_TraceLine(536,0,__PYX_ERR(0, 536, __pyx_L1_error))
    __Pyx_INCREF(__pyx_v_name);
    __Pyx_GIVEREF(__pyx_v_name);
    __Pyx_GOTREF(__pyx_v_self->_curr_surface);
    __Pyx_DECREF(__pyx_v_self->_curr_surface);
    __pyx_v_self->_curr_surface = __pyx_v_name;
 537:             # Start corresponding container for the surface
+538:             self._tmp_faces[name] = list()
    __Pyx_TraceLine(538,0,__PYX_ERR(0, 538, __pyx_L1_error))
    __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 538, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(__pyx_v_self->_tmp_faces == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 538, __pyx_L1_error)
    }
    if (unlikely(PyDict_SetItem(__pyx_v_self->_tmp_faces, __pyx_v_name, __pyx_t_5) < 0)) __PYX_ERR(0, 538, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 539: 
+540:             if s_type == 1:
    __Pyx_TraceLine(540,0,__PYX_ERR(0, 540, __pyx_L1_error))
    __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_v_s_type, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 540, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (__pyx_t_1) {
/* … */
      goto __pyx_L4;
    }
 541:                 # Deformable surface
+542:                 n_slaves = record[6]
      __Pyx_TraceLine(542,0,__PYX_ERR(0, 542, __pyx_L1_error))
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_record, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 542, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_v_n_slaves = __pyx_t_5;
      __pyx_t_5 = 0;
+543:                 if n_slaves > 0:
      __Pyx_TraceLine(543,0,__PYX_ERR(0, 543, __pyx_L1_error))
      __pyx_t_5 = PyObject_RichCompare(__pyx_v_n_slaves, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 543, __pyx_L1_error)
      __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 543, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (__pyx_t_1) {
/* … */
        goto __pyx_L5;
      }
+544:                     master_names = record[7:]
        __Pyx_TraceLine(544,0,__PYX_ERR(0, 544, __pyx_L1_error))
        __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_record, 7, 0, NULL, NULL, &__pyx_slice__9, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 544, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_v_master_names = __pyx_t_5;
        __pyx_t_5 = 0;
/* … */
  __pyx_slice__9 = PySlice_New(__pyx_int_7, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) __PYX_ERR(0, 544, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_slice__9);
  __Pyx_GIVEREF(__pyx_slice__9);
 545:                 else:
+546:                     master_names = []
      __Pyx_TraceLine(546,0,__PYX_ERR(0, 546, __pyx_L1_error))
      /*else*/ {
        __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 546, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_v_master_names = __pyx_t_5;
        __pyx_t_5 = 0;
      }
      __pyx_L5:;
 547: 
+548:                 self._tmp_surf[name] = {
      __Pyx_TraceLine(548,0,__PYX_ERR(0, 548, __pyx_L1_error))
      if (unlikely(__pyx_v_self->_tmp_surf == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 548, __pyx_L1_error)
      }
      if (unlikely(PyDict_SetItem(__pyx_v_self->_tmp_surf, __pyx_v_name, __pyx_t_5) < 0)) __PYX_ERR(0, 548, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+549:                     "dimension": dim,
      __Pyx_TraceLine(549,0,__PYX_ERR(0, 549, __pyx_L1_error))
      __pyx_t_5 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 549, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (PyDict_SetItem(__pyx_t_5, __pyx_n_u_dimension_2, __pyx_v_dim) < 0) __PYX_ERR(0, 549, __pyx_L1_error)
      if (PyDict_SetItem(__pyx_t_5, __pyx_n_u_type, __pyx_n_u_deformable) < 0) __PYX_ERR(0, 549, __pyx_L1_error)
 550:                     "type": "deformable",
+551:                     "master names": master_names,
      __Pyx_TraceLine(551,0,__PYX_ERR(0, 551, __pyx_L1_error))
      if (PyDict_SetItem(__pyx_t_5, __pyx_kp_u_master_names, __pyx_v_master_names) < 0) __PYX_ERR(0, 549, __pyx_L1_error)
 552:                 }
 553: 
+554:             elif s_type == 2:
    __Pyx_TraceLine(554,0,__PYX_ERR(0, 554, __pyx_L1_error))
    __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_v_s_type, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 554, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 554, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (__pyx_t_1) {
/* … */
    }
    __pyx_L4:;
  }
  __pyx_L3:;
 555:                 # Rigid surface
+556:                 ref_label = record[6]
      __Pyx_TraceLine(556,0,__PYX_ERR(0, 556, __pyx_L1_error))
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_record, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 556, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_v_ref_label = __pyx_t_5;
      __pyx_t_5 = 0;
+557:                 self._tmp_surf[name] = {
      __Pyx_TraceLine(557,0,__PYX_ERR(0, 557, __pyx_L1_error))
      if (unlikely(__pyx_v_self->_tmp_surf == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 557, __pyx_L1_error)
      }
      if (unlikely(PyDict_SetItem(__pyx_v_self->_tmp_surf, __pyx_v_name, __pyx_t_5) < 0)) __PYX_ERR(0, 557, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+558:                     "dimension": dim,
      __Pyx_TraceLine(558,0,__PYX_ERR(0, 558, __pyx_L1_error))
      __pyx_t_5 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 558, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (PyDict_SetItem(__pyx_t_5, __pyx_n_u_dimension_2, __pyx_v_dim) < 0) __PYX_ERR(0, 558, __pyx_L1_error)
      if (PyDict_SetItem(__pyx_t_5, __pyx_n_u_type, __pyx_n_u_rigid) < 0) __PYX_ERR(0, 558, __pyx_L1_error)
 559:                     "type": "rigid",
+560:                     "reference point": ref_label,
      __Pyx_TraceLine(560,0,__PYX_ERR(0, 560, __pyx_L1_error))
      if (PyDict_SetItem(__pyx_t_5, __pyx_kp_u_reference_point, __pyx_v_ref_label) < 0) __PYX_ERR(0, 558, __pyx_L1_error)
 561:                 }
 562: 
+563:     def _post_parse_all_surfaces(self):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_35_post_parse_all_surfaces(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_34_post_parse_all_surfaces[] = "Process all the surfaces after reading all records.";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_35_post_parse_all_surfaces(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_post_parse_all_surfaces (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_34_post_parse_all_surfaces(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_34_post_parse_all_surfaces(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self) {
  PyObject *__pyx_v_surfaces = NULL;
  PyObject *__pyx_v_faces = NULL;
  PyObject *__pyx_v_model = NULL;
  PyObject *__pyx_v_ix = NULL;
  PyObject *__pyx_v_surf = NULL;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_dim = NULL;
  PyObject *__pyx_v_ref = NULL;
  PyObject *__pyx_v_face_i = NULL;
  PyObject *__pyx_v_master = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_post_parse_all_surfaces", 0);
  __Pyx_TraceCall("_post_parse_all_surfaces", __pyx_f[0], 563, 0, __PYX_ERR(0, 563, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._post_parse_all_surfaces", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_surfaces);
  __Pyx_XDECREF(__pyx_v_faces);
  __Pyx_XDECREF(__pyx_v_model);
  __Pyx_XDECREF(__pyx_v_ix);
  __Pyx_XDECREF(__pyx_v_surf);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_dim);
  __Pyx_XDECREF(__pyx_v_ref);
  __Pyx_XDECREF(__pyx_v_face_i);
  __Pyx_XDECREF(__pyx_v_master);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 564:         """Process all the surfaces after reading all records."""
+565:         surfaces = self._tmp_surf
  __Pyx_TraceLine(565,0,__PYX_ERR(0, 565, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_tmp_surf;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_surfaces = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+566:         faces = self._tmp_faces
  __Pyx_TraceLine(566,0,__PYX_ERR(0, 566, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_tmp_faces;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_faces = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
+567:         model = self._model
  __Pyx_TraceLine(567,0,__PYX_ERR(0, 567, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_model;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_model = __pyx_t_1;
  __pyx_t_1 = 0;
 568: 
+569:         for ix, surf in surfaces.items():
  __Pyx_TraceLine(569,0,__PYX_ERR(0, 569, __pyx_L1_error))
  __pyx_t_2 = 0;
  if (unlikely(__pyx_v_surfaces == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 569, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_surfaces, 1, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 569, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_ix, __pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XDECREF_SET(__pyx_v_surf, __pyx_t_6);
    __pyx_t_6 = 0;
+570:             if surf["type"] == "rigid":
    __Pyx_TraceLine(570,0,__PYX_ERR(0, 570, __pyx_L1_error))
    __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_v_surf, __pyx_n_u_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = (__Pyx_PyUnicode_Equals(__pyx_t_6, __pyx_n_u_rigid, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 570, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (__pyx_t_8) {
/* … */
      goto __pyx_L5;
    }
 571:                 # Get name
+572:                 name = self._label_cross_ref[ix]
      __Pyx_TraceLine(572,0,__PYX_ERR(0, 572, __pyx_L1_error))
      if (unlikely(__pyx_v_self->_label_cross_ref == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 572, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_self->_label_cross_ref, __pyx_v_ix); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 572, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_6);
      __pyx_t_6 = 0;
+573:                 dim = surf["dimension"]
      __Pyx_TraceLine(573,0,__PYX_ERR(0, 573, __pyx_L1_error))
      __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_v_surf, __pyx_n_u_dimension_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 573, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_XDECREF_SET(__pyx_v_dim, __pyx_t_6);
      __pyx_t_6 = 0;
+574:                 ref = surf["reference point"]
      __Pyx_TraceLine(574,0,__PYX_ERR(0, 574, __pyx_L1_error))
      __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_v_surf, __pyx_kp_u_reference_point); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 574, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_XDECREF_SET(__pyx_v_ref, __pyx_t_6);
      __pyx_t_6 = 0;
+575:                 model.add_rigid_surface(name, dim, ref)
      __Pyx_TraceLine(575,0,__PYX_ERR(0, 575, __pyx_L1_error))
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_model, __pyx_n_s_add_rigid_surface); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 575, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = NULL;
      __pyx_t_7 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5);
        if (likely(__pyx_t_9)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
          __Pyx_INCREF(__pyx_t_9);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_5, function);
          __pyx_t_7 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_v_name, __pyx_v_dim, __pyx_v_ref};
        __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 575, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_GOTREF(__pyx_t_6);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
        PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_v_name, __pyx_v_dim, __pyx_v_ref};
        __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 575, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_GOTREF(__pyx_t_6);
      } else
      #endif
      {
        __pyx_t_10 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 575, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        if (__pyx_t_9) {
          __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __pyx_t_9 = NULL;
        }
        __Pyx_INCREF(__pyx_v_name);
        __Pyx_GIVEREF(__pyx_v_name);
        PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_7, __pyx_v_name);
        __Pyx_INCREF(__pyx_v_dim);
        __Pyx_GIVEREF(__pyx_v_dim);
        PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_7, __pyx_v_dim);
        __Pyx_INCREF(__pyx_v_ref);
        __Pyx_GIVEREF(__pyx_v_ref);
        PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_7, __pyx_v_ref);
        __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 575, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 576: 
+577:                 for face_i in faces[ix]:
      __Pyx_TraceLine(577,0,__PYX_ERR(0, 577, __pyx_L1_error))
      if (unlikely(__pyx_v_faces == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 577, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_faces, __pyx_v_ix); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 577, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
        __pyx_t_5 = __pyx_t_6; __Pyx_INCREF(__pyx_t_5); __pyx_t_11 = 0;
        __pyx_t_12 = NULL;
      } else {
        __pyx_t_11 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 577, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_12 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 577, __pyx_L1_error)
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      for (;;) {
        if (likely(!__pyx_t_12)) {
          if (likely(PyList_CheckExact(__pyx_t_5))) {
            if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_5)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_6 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 577, __pyx_L1_error)
            #else
            __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 577, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_6);
            #endif
          } else {
            if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 577, __pyx_L1_error)
            #else
            __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 577, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_6);
            #endif
          }
        } else {
          __pyx_t_6 = __pyx_t_12(__pyx_t_5);
          if (unlikely(!__pyx_t_6)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
              else __PYX_ERR(0, 577, __pyx_L1_error)
            }
            break;
          }
          __Pyx_GOTREF(__pyx_t_6);
        }
        __Pyx_XDECREF_SET(__pyx_v_face_i, __pyx_t_6);
        __pyx_t_6 = 0;
/* … */
        __Pyx_TraceLine(577,0,__PYX_ERR(0, 577, __pyx_L1_error))
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+578:                     model.add_face_to_surface(name, face_i)
        __Pyx_TraceLine(578,0,__PYX_ERR(0, 578, __pyx_L1_error))
        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_model, __pyx_n_s_add_face_to_surface); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 578, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_9 = NULL;
        __pyx_t_7 = 0;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
          __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_10);
          if (likely(__pyx_t_9)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
            __Pyx_INCREF(__pyx_t_9);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_10, function);
            __pyx_t_7 = 1;
          }
        }
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_10)) {
          PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_v_name, __pyx_v_face_i};
          __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 578, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_GOTREF(__pyx_t_6);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
          PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_v_name, __pyx_v_face_i};
          __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 578, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
          __Pyx_GOTREF(__pyx_t_6);
        } else
        #endif
        {
          __pyx_t_13 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 578, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          if (__pyx_t_9) {
            __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_9); __pyx_t_9 = NULL;
          }
          __Pyx_INCREF(__pyx_v_name);
          __Pyx_GIVEREF(__pyx_v_name);
          PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_7, __pyx_v_name);
          __Pyx_INCREF(__pyx_v_face_i);
          __Pyx_GIVEREF(__pyx_v_face_i);
          PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_7, __pyx_v_face_i);
          __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_13, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 578, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        }
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 579: 
+580:             elif surf["type"] == "deformable":
    __Pyx_TraceLine(580,0,__PYX_ERR(0, 580, __pyx_L1_error))
    __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_v_surf, __pyx_n_u_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_8 = (__Pyx_PyUnicode_Equals(__pyx_t_5, __pyx_n_u_deformable, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 580, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (__pyx_t_8) {
/* … */
    }
    __pyx_L5:;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 581:                 # Get name
+582:                 name = self._label_cross_ref[ix]
      __Pyx_TraceLine(582,0,__PYX_ERR(0, 582, __pyx_L1_error))
      if (unlikely(__pyx_v_self->_label_cross_ref == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 582, __pyx_L1_error)
      }
      __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_self->_label_cross_ref, __pyx_v_ix); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 582, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5);
      __pyx_t_5 = 0;
+583:                 dim = surf["dimension"]
      __Pyx_TraceLine(583,0,__PYX_ERR(0, 583, __pyx_L1_error))
      __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_v_surf, __pyx_n_u_dimension_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 583, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_XDECREF_SET(__pyx_v_dim, __pyx_t_5);
      __pyx_t_5 = 0;
+584:                 master = surf["master names"]
      __Pyx_TraceLine(584,0,__PYX_ERR(0, 584, __pyx_L1_error))
      __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_v_surf, __pyx_kp_u_master_names); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 584, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_XDECREF_SET(__pyx_v_master, __pyx_t_5);
      __pyx_t_5 = 0;
+585:                 self._model.add_deformable_surface(name, dim, master)
      __Pyx_TraceLine(585,0,__PYX_ERR(0, 585, __pyx_L1_error))
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_deformable_surface); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 585, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_10 = NULL;
      __pyx_t_7 = 0;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6);
        if (likely(__pyx_t_10)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
          __Pyx_INCREF(__pyx_t_10);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_6, function);
          __pyx_t_7 = 1;
        }
      }
      #if CYTHON_FAST_PYCALL
      if (PyFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_v_name, __pyx_v_dim, __pyx_v_master};
        __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 585, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_5);
      } else
      #endif
      #if CYTHON_FAST_PYCCALL
      if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
        PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_v_name, __pyx_v_dim, __pyx_v_master};
        __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 585, __pyx_L1_error)
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_GOTREF(__pyx_t_5);
      } else
      #endif
      {
        __pyx_t_13 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 585, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_13);
        if (__pyx_t_10) {
          __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_10); __pyx_t_10 = NULL;
        }
        __Pyx_INCREF(__pyx_v_name);
        __Pyx_GIVEREF(__pyx_v_name);
        PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_7, __pyx_v_name);
        __Pyx_INCREF(__pyx_v_dim);
        __Pyx_GIVEREF(__pyx_v_dim);
        PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_7, __pyx_v_dim);
        __Pyx_INCREF(__pyx_v_master);
        __Pyx_GIVEREF(__pyx_v_master);
        PyTuple_SET_ITEM(__pyx_t_13, 2+__pyx_t_7, __pyx_v_master);
        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_13, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 585, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 586: 
+587:                 for face_i in faces[ix]:
      __Pyx_TraceLine(587,0,__PYX_ERR(0, 587, __pyx_L1_error))
      if (unlikely(__pyx_v_faces == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(0, 587, __pyx_L1_error)
      }
      __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_faces, __pyx_v_ix); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 587, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
        __pyx_t_6 = __pyx_t_5; __Pyx_INCREF(__pyx_t_6); __pyx_t_11 = 0;
        __pyx_t_12 = NULL;
      } else {
        __pyx_t_11 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 587, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_12 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 587, __pyx_L1_error)
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      for (;;) {
        if (likely(!__pyx_t_12)) {
          if (likely(PyList_CheckExact(__pyx_t_6))) {
            if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_6)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_5 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_5); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 587, __pyx_L1_error)
            #else
            __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 587, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            #endif
          } else {
            if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_5); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 587, __pyx_L1_error)
            #else
            __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 587, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            #endif
          }
        } else {
          __pyx_t_5 = __pyx_t_12(__pyx_t_6);
          if (unlikely(!__pyx_t_5)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
              else __PYX_ERR(0, 587, __pyx_L1_error)
            }
            break;
          }
          __Pyx_GOTREF(__pyx_t_5);
        }
        __Pyx_XDECREF_SET(__pyx_v_face_i, __pyx_t_5);
        __pyx_t_5 = 0;
/* … */
        __Pyx_TraceLine(587,0,__PYX_ERR(0, 587, __pyx_L1_error))
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+588:                     model.add_face_to_surface(name, face_i)
        __Pyx_TraceLine(588,0,__PYX_ERR(0, 588, __pyx_L1_error))
        __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_model, __pyx_n_s_add_face_to_surface); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 588, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_13);
        __pyx_t_10 = NULL;
        __pyx_t_7 = 0;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
          __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_13);
          if (likely(__pyx_t_10)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
            __Pyx_INCREF(__pyx_t_10);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_13, function);
            __pyx_t_7 = 1;
          }
        }
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_13)) {
          PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_name, __pyx_v_face_i};
          __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 588, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_GOTREF(__pyx_t_5);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
          PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_name, __pyx_v_face_i};
          __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 588, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_GOTREF(__pyx_t_5);
        } else
        #endif
        {
          __pyx_t_9 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 588, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_9);
          if (__pyx_t_10) {
            __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_10); __pyx_t_10 = NULL;
          }
          __Pyx_INCREF(__pyx_v_name);
          __Pyx_GIVEREF(__pyx_v_name);
          PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_7, __pyx_v_name);
          __Pyx_INCREF(__pyx_v_face_i);
          __Pyx_GIVEREF(__pyx_v_face_i);
          PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_7, __pyx_v_face_i);
          __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 588, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        }
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 589: 
+590:     def _parse_label_cross_ref(self, record):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_37_parse_label_cross_ref(PyObject *__pyx_v_self, PyObject *__pyx_v_record); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_36_parse_label_cross_ref[] = "Parse label cross-references\n\n        Parameters\n        ----------\n        record : list\n            Records parsed from the *.fil file\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_37_parse_label_cross_ref(PyObject *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_label_cross_ref (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_36_parse_label_cross_ref(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), ((PyObject *)__pyx_v_record));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_36_parse_label_cross_ref(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record) {
  PyObject *__pyx_v_ref = NULL;
  PyObject *__pyx_v_label = NULL;
  PyObject *__pyx_v_tmp_sets = NULL;
  PyObject *__pyx_v_elements = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_label_cross_ref", 0);
  __Pyx_TraceCall("_parse_label_cross_ref", __pyx_f[0], 590, 0, __PYX_ERR(0, 590, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_label_cross_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ref);
  __Pyx_XDECREF(__pyx_v_label);
  __Pyx_XDECREF(__pyx_v_tmp_sets);
  __Pyx_XDECREF(__pyx_v_elements);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 591:         """Parse label cross-references
 592: 
 593:         Parameters
 594:         ----------
 595:         record : list
 596:             Records parsed from the *.fil file
 597: 
 598:         """
+599:         ref = record[2]
  __Pyx_TraceLine(599,0,__PYX_ERR(0, 599, __pyx_L1_error))
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_record, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_ref = __pyx_t_1;
  __pyx_t_1 = 0;
+600:         label = "".join(record[3:]).strip()
  __Pyx_TraceLine(600,0,__PYX_ERR(0, 600, __pyx_L1_error))
  __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_v_record, 3, 0, NULL, NULL, &__pyx_slice__5, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyUnicode_Join(__pyx_kp_u_, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_label = __pyx_t_1;
  __pyx_t_1 = 0;
 601: 
+602:         self._label_cross_ref[ref] = label
  __Pyx_TraceLine(602,0,__PYX_ERR(0, 602, __pyx_L1_error))
  if (unlikely(__pyx_v_self->_label_cross_ref == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 602, __pyx_L1_error)
  }
  if (unlikely(PyDict_SetItem(__pyx_v_self->_label_cross_ref, __pyx_v_ref, __pyx_v_label) < 0)) __PYX_ERR(0, 602, __pyx_L1_error)
 603: 
+604:         tmp_sets = self._tmp_sets
  __Pyx_TraceLine(604,0,__PYX_ERR(0, 604, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_tmp_sets;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_tmp_sets = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
 605: 
+606:         if ref in tmp_sets["element"]:
  __Pyx_TraceLine(606,0,__PYX_ERR(0, 606, __pyx_L1_error))
  if (unlikely(__pyx_v_tmp_sets == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 606, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_tmp_sets, __pyx_n_u_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = (__Pyx_PySequence_ContainsTF(__pyx_v_ref, __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 606, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_5 = (__pyx_t_4 != 0);
  if (__pyx_t_5) {
/* … */
    goto __pyx_L3;
  }
+607:             elements = tmp_sets["element"][ref]
    __Pyx_TraceLine(607,0,__PYX_ERR(0, 607, __pyx_L1_error))
    if (unlikely(__pyx_v_tmp_sets == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 607, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_tmp_sets, __pyx_n_u_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_ref); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_elements = __pyx_t_2;
    __pyx_t_2 = 0;
+608:             self._model.add_set(label, elements, "element")
    __Pyx_TraceLine(608,0,__PYX_ERR(0, 608, __pyx_L1_error))
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_set); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 608, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = NULL;
    __pyx_t_6 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
      if (likely(__pyx_t_3)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_1, function);
        __pyx_t_6 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_label, __pyx_v_elements, __pyx_n_u_element};
      __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 608, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
      PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_label, __pyx_v_elements, __pyx_n_u_element};
      __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 608, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_GOTREF(__pyx_t_2);
    } else
    #endif
    {
      __pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 608, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (__pyx_t_3) {
        __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL;
      }
      __Pyx_INCREF(__pyx_v_label);
      __Pyx_GIVEREF(__pyx_v_label);
      PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_label);
      __Pyx_INCREF(__pyx_v_elements);
      __Pyx_GIVEREF(__pyx_v_elements);
      PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_elements);
      __Pyx_INCREF(__pyx_n_u_element);
      __Pyx_GIVEREF(__pyx_n_u_element);
      PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_n_u_element);
      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 608, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+609:         elif ref in tmp_sets["node"]:
  __Pyx_TraceLine(609,0,__PYX_ERR(0, 609, __pyx_L1_error))
  if (unlikely(__pyx_v_tmp_sets == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(0, 609, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_tmp_sets, __pyx_n_u_node); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_v_ref, __pyx_t_2, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 609, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = (__pyx_t_5 != 0);
  if (__pyx_t_4) {
/* … */
  }
  __pyx_L3:;
+610:             elements = tmp_sets["node"][ref]
    __Pyx_TraceLine(610,0,__PYX_ERR(0, 610, __pyx_L1_error))
    if (unlikely(__pyx_v_tmp_sets == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(0, 610, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_tmp_sets, __pyx_n_u_node); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 610, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_ref); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 610, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_elements = __pyx_t_1;
    __pyx_t_1 = 0;
+611:             self._model.add_set(label, elements, "node")
    __Pyx_TraceLine(611,0,__PYX_ERR(0, 611, __pyx_L1_error))
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->_model, __pyx_n_s_add_set); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = NULL;
    __pyx_t_6 = 0;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
        __pyx_t_6 = 1;
      }
    }
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_v_label, __pyx_v_elements, __pyx_n_u_node};
      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 611, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
      PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_v_label, __pyx_v_elements, __pyx_n_u_node};
      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 611, __pyx_L1_error)
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_GOTREF(__pyx_t_1);
    } else
    #endif
    {
      __pyx_t_3 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 611, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__pyx_t_7) {
        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_7); __pyx_t_7 = NULL;
      }
      __Pyx_INCREF(__pyx_v_label);
      __Pyx_GIVEREF(__pyx_v_label);
      PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_6, __pyx_v_label);
      __Pyx_INCREF(__pyx_v_elements);
      __Pyx_GIVEREF(__pyx_v_elements);
      PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_6, __pyx_v_elements);
      __Pyx_INCREF(__pyx_n_u_node);
      __Pyx_GIVEREF(__pyx_n_u_node);
      PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_6, __pyx_n_u_node);
      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 611, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 612: 
+613:     def _parse_not_implemented(self, record, r_type):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_39_parse_not_implemented(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_38_parse_not_implemented[] = "Helper function to deal with the not yet implemented parsers.\n\n        Parameters\n        ----------\n        record : TODO\n        r_type : str\n\n        ";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_39_parse_not_implemented(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_record = 0;
  PyObject *__pyx_v_r_type = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_not_implemented (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_record,&__pyx_n_s_r_type,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_record)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_r_type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("_parse_not_implemented", 1, 2, 2, 1); __PYX_ERR(0, 613, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_parse_not_implemented") < 0)) __PYX_ERR(0, 613, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_record = values[0];
    __pyx_v_r_type = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_parse_not_implemented", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 613, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_not_implemented", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_38_parse_not_implemented(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self), __pyx_v_record, __pyx_v_r_type);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_38_parse_not_implemented(CYTHON_UNUSED struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self, PyObject *__pyx_v_record, PyObject *__pyx_v_r_type) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_parse_not_implemented", 0);
  __Pyx_TraceCall("_parse_not_implemented", __pyx_f[0], 613, 0, __PYX_ERR(0, 613, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._parse_not_implemented", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 614:         """Helper function to deal with the not yet implemented parsers.
 615: 
 616:         Parameters
 617:         ----------
 618:         record : TODO
 619:         r_type : str
 620: 
 621:         """
 622:         # tqdm.write(f"Record key {record[1]} ({r_type}) not yet implemented!")
+623:         print(f"Record key {record[1]} ({r_type}) not yet implemented!")
  __Pyx_TraceLine(623,0,__PYX_ERR(0, 623, __pyx_L1_error))
  __pyx_t_1 = PyTuple_New(5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = 0;
  __pyx_t_3 = 127;
  __Pyx_INCREF(__pyx_kp_u_Record_key);
  __pyx_t_2 += 11;
  __Pyx_GIVEREF(__pyx_kp_u_Record_key);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_u_Record_key);
  __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_record, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_3;
  __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_5);
  __pyx_t_5 = 0;
  __Pyx_INCREF(__pyx_kp_u__10);
  __pyx_t_2 += 2;
  __Pyx_GIVEREF(__pyx_kp_u__10);
  PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_u__10);
  __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_r_type, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_3;
  __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_t_5);
  __pyx_t_5 = 0;
  __Pyx_INCREF(__pyx_kp_u_not_yet_implemented);
  __pyx_t_2 += 22;
  __Pyx_GIVEREF(__pyx_kp_u_not_yet_implemented);
  PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_kp_u_not_yet_implemented);
  __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_1, 5, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 624: 
+625:     def _reference_elems_in_nodes(self):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_41_reference_elems_in_nodes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_7pybaqus_10fil_result_9FilParser_40_reference_elems_in_nodes[] = "Add a list to each node with the elements using the node.";
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_41_reference_elems_in_nodes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_reference_elems_in_nodes (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_40_reference_elems_in_nodes(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_40_reference_elems_in_nodes(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self) {
  PyObject *__pyx_v_model = NULL;
  PyObject *__pyx_v_ni = NULL;
  PyObject *__pyx_v_elems = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_reference_elems_in_nodes", 0);
  __Pyx_TraceCall("_reference_elems_in_nodes", __pyx_f[0], 625, 0, __PYX_ERR(0, 625, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser._reference_elems_in_nodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_model);
  __Pyx_XDECREF(__pyx_v_ni);
  __Pyx_XDECREF(__pyx_v_elems);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 626:         """Add a list to each node with the elements using the node."""
+627:         model = self._model
  __Pyx_TraceLine(627,0,__PYX_ERR(0, 627, __pyx_L1_error))
  __pyx_t_1 = __pyx_v_self->_model;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_model = __pyx_t_1;
  __pyx_t_1 = 0;
 628: 
+629:         for ni, elems in self._node_elems.items():
  __Pyx_TraceLine(629,0,__PYX_ERR(0, 629, __pyx_L1_error))
  __pyx_t_2 = 0;
  if (unlikely(__pyx_v_self->_node_elems == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(0, 629, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_self->_node_elems, 1, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_ni, __pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XDECREF_SET(__pyx_v_elems, __pyx_t_6);
    __pyx_t_6 = 0;
+630:             model.nodes[ni].in_elements = elems
    __Pyx_TraceLine(630,0,__PYX_ERR(0, 630, __pyx_L1_error))
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_model, __pyx_n_s_nodes); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_ni); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (__Pyx_PyObject_SetAttrStr(__pyx_t_5, __pyx_n_s_in_elements, __pyx_v_elems) < 0) __PYX_ERR(0, 630, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 631: 
 632:     # grant access to myCppMember thanks to myMember
 633:     @property
+634:     def model(self):
/* Python wrapper */
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_5model_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_7pybaqus_10fil_result_9FilParser_5model_1__get__(PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_r = __pyx_pf_7pybaqus_10fil_result_9FilParser_5model___get__(((struct __pyx_obj_7pybaqus_10fil_result_FilParser *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_7pybaqus_10fil_result_9FilParser_5model___get__(struct __pyx_obj_7pybaqus_10fil_result_FilParser *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_TraceCall("__get__", __pyx_f[0], 634, 0, __PYX_ERR(0, 634, __pyx_L1_error));
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pybaqus.fil_result.FilParser.model.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+635:         return self._model
  __Pyx_TraceLine(635,0,__PYX_ERR(0, 635, __pyx_L1_error))
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->_model);
  __pyx_r = __pyx_v_self->_model;
  goto __pyx_L0;