proteus  1.8.1
C/C++/Fortran libraries
mprans/BoundaryConditions.cpp
Go to the documentation of this file.
1 /* Generated by Cython 0.29.30 */
2 
3 #ifndef PY_SSIZE_T_CLEAN
4 #define PY_SSIZE_T_CLEAN
5 #endif /* PY_SSIZE_T_CLEAN */
6 #include "Python.h"
7 #ifndef Py_PYTHON_H
8  #error Python headers needed to compile C extensions, please install development version of Python.
9 #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
10  #error Cython requires Python 2.6+ or Python 3.3+.
11 #else
12 #define CYTHON_ABI "0_29_30"
13 #define CYTHON_HEX_VERSION 0x001D1EF0
14 #define CYTHON_FUTURE_DIVISION 1
15 #include <stddef.h>
16 #ifndef offsetof
17  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
18 #endif
19 #if !defined(WIN32) && !defined(MS_WINDOWS)
20  #ifndef __stdcall
21  #define __stdcall
22  #endif
23  #ifndef __cdecl
24  #define __cdecl
25  #endif
26  #ifndef __fastcall
27  #define __fastcall
28  #endif
29 #endif
30 #ifndef DL_IMPORT
31  #define DL_IMPORT(t) t
32 #endif
33 #ifndef DL_EXPORT
34  #define DL_EXPORT(t) t
35 #endif
36 #define __PYX_COMMA ,
37 #ifndef HAVE_LONG_LONG
38  #if PY_VERSION_HEX >= 0x02070000
39  #define HAVE_LONG_LONG
40  #endif
41 #endif
42 #ifndef PY_LONG_LONG
43  #define PY_LONG_LONG LONG_LONG
44 #endif
45 #ifndef Py_HUGE_VAL
46  #define Py_HUGE_VAL HUGE_VAL
47 #endif
48 #ifdef PYPY_VERSION
49  #define CYTHON_COMPILING_IN_PYPY 1
50  #define CYTHON_COMPILING_IN_PYSTON 0
51  #define CYTHON_COMPILING_IN_CPYTHON 0
52  #undef CYTHON_USE_TYPE_SLOTS
53  #define CYTHON_USE_TYPE_SLOTS 0
54  #undef CYTHON_USE_PYTYPE_LOOKUP
55  #define CYTHON_USE_PYTYPE_LOOKUP 0
56  #if PY_VERSION_HEX < 0x03050000
57  #undef CYTHON_USE_ASYNC_SLOTS
58  #define CYTHON_USE_ASYNC_SLOTS 0
59  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
60  #define CYTHON_USE_ASYNC_SLOTS 1
61  #endif
62  #undef CYTHON_USE_PYLIST_INTERNALS
63  #define CYTHON_USE_PYLIST_INTERNALS 0
64  #undef CYTHON_USE_UNICODE_INTERNALS
65  #define CYTHON_USE_UNICODE_INTERNALS 0
66  #undef CYTHON_USE_UNICODE_WRITER
67  #define CYTHON_USE_UNICODE_WRITER 0
68  #undef CYTHON_USE_PYLONG_INTERNALS
69  #define CYTHON_USE_PYLONG_INTERNALS 0
70  #undef CYTHON_AVOID_BORROWED_REFS
71  #define CYTHON_AVOID_BORROWED_REFS 1
72  #undef CYTHON_ASSUME_SAFE_MACROS
73  #define CYTHON_ASSUME_SAFE_MACROS 0
74  #undef CYTHON_UNPACK_METHODS
75  #define CYTHON_UNPACK_METHODS 0
76  #undef CYTHON_FAST_THREAD_STATE
77  #define CYTHON_FAST_THREAD_STATE 0
78  #undef CYTHON_FAST_PYCALL
79  #define CYTHON_FAST_PYCALL 0
80  #undef CYTHON_PEP489_MULTI_PHASE_INIT
81  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
82  #undef CYTHON_USE_TP_FINALIZE
83  #define CYTHON_USE_TP_FINALIZE 0
84  #undef CYTHON_USE_DICT_VERSIONS
85  #define CYTHON_USE_DICT_VERSIONS 0
86  #undef CYTHON_USE_EXC_INFO_STACK
87  #define CYTHON_USE_EXC_INFO_STACK 0
88  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
89  #define CYTHON_UPDATE_DESCRIPTOR_DOC (PYPY_VERSION_HEX >= 0x07030900)
90  #endif
91 #elif defined(PYSTON_VERSION)
92  #define CYTHON_COMPILING_IN_PYPY 0
93  #define CYTHON_COMPILING_IN_PYSTON 1
94  #define CYTHON_COMPILING_IN_CPYTHON 0
95  #ifndef CYTHON_USE_TYPE_SLOTS
96  #define CYTHON_USE_TYPE_SLOTS 1
97  #endif
98  #undef CYTHON_USE_PYTYPE_LOOKUP
99  #define CYTHON_USE_PYTYPE_LOOKUP 0
100  #undef CYTHON_USE_ASYNC_SLOTS
101  #define CYTHON_USE_ASYNC_SLOTS 0
102  #undef CYTHON_USE_PYLIST_INTERNALS
103  #define CYTHON_USE_PYLIST_INTERNALS 0
104  #ifndef CYTHON_USE_UNICODE_INTERNALS
105  #define CYTHON_USE_UNICODE_INTERNALS 1
106  #endif
107  #undef CYTHON_USE_UNICODE_WRITER
108  #define CYTHON_USE_UNICODE_WRITER 0
109  #undef CYTHON_USE_PYLONG_INTERNALS
110  #define CYTHON_USE_PYLONG_INTERNALS 0
111  #ifndef CYTHON_AVOID_BORROWED_REFS
112  #define CYTHON_AVOID_BORROWED_REFS 0
113  #endif
114  #ifndef CYTHON_ASSUME_SAFE_MACROS
115  #define CYTHON_ASSUME_SAFE_MACROS 1
116  #endif
117  #ifndef CYTHON_UNPACK_METHODS
118  #define CYTHON_UNPACK_METHODS 1
119  #endif
120  #undef CYTHON_FAST_THREAD_STATE
121  #define CYTHON_FAST_THREAD_STATE 0
122  #undef CYTHON_FAST_PYCALL
123  #define CYTHON_FAST_PYCALL 0
124  #undef CYTHON_PEP489_MULTI_PHASE_INIT
125  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
126  #undef CYTHON_USE_TP_FINALIZE
127  #define CYTHON_USE_TP_FINALIZE 0
128  #undef CYTHON_USE_DICT_VERSIONS
129  #define CYTHON_USE_DICT_VERSIONS 0
130  #undef CYTHON_USE_EXC_INFO_STACK
131  #define CYTHON_USE_EXC_INFO_STACK 0
132  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
133  #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
134  #endif
135 #else
136  #define CYTHON_COMPILING_IN_PYPY 0
137  #define CYTHON_COMPILING_IN_PYSTON 0
138  #define CYTHON_COMPILING_IN_CPYTHON 1
139  #ifndef CYTHON_USE_TYPE_SLOTS
140  #define CYTHON_USE_TYPE_SLOTS 1
141  #endif
142  #if PY_VERSION_HEX < 0x02070000
143  #undef CYTHON_USE_PYTYPE_LOOKUP
144  #define CYTHON_USE_PYTYPE_LOOKUP 0
145  #elif !defined(CYTHON_USE_PYTYPE_LOOKUP)
146  #define CYTHON_USE_PYTYPE_LOOKUP 1
147  #endif
148  #if PY_MAJOR_VERSION < 3
149  #undef CYTHON_USE_ASYNC_SLOTS
150  #define CYTHON_USE_ASYNC_SLOTS 0
151  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
152  #define CYTHON_USE_ASYNC_SLOTS 1
153  #endif
154  #if PY_VERSION_HEX < 0x02070000
155  #undef CYTHON_USE_PYLONG_INTERNALS
156  #define CYTHON_USE_PYLONG_INTERNALS 0
157  #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
158  #define CYTHON_USE_PYLONG_INTERNALS 1
159  #endif
160  #ifndef CYTHON_USE_PYLIST_INTERNALS
161  #define CYTHON_USE_PYLIST_INTERNALS 1
162  #endif
163  #ifndef CYTHON_USE_UNICODE_INTERNALS
164  #define CYTHON_USE_UNICODE_INTERNALS 1
165  #endif
166  #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2
167  #undef CYTHON_USE_UNICODE_WRITER
168  #define CYTHON_USE_UNICODE_WRITER 0
169  #elif !defined(CYTHON_USE_UNICODE_WRITER)
170  #define CYTHON_USE_UNICODE_WRITER 1
171  #endif
172  #ifndef CYTHON_AVOID_BORROWED_REFS
173  #define CYTHON_AVOID_BORROWED_REFS 0
174  #endif
175  #ifndef CYTHON_ASSUME_SAFE_MACROS
176  #define CYTHON_ASSUME_SAFE_MACROS 1
177  #endif
178  #ifndef CYTHON_UNPACK_METHODS
179  #define CYTHON_UNPACK_METHODS 1
180  #endif
181  #if PY_VERSION_HEX >= 0x030B00A4
182  #undef CYTHON_FAST_THREAD_STATE
183  #define CYTHON_FAST_THREAD_STATE 0
184  #elif !defined(CYTHON_FAST_THREAD_STATE)
185  #define CYTHON_FAST_THREAD_STATE 1
186  #endif
187  #ifndef CYTHON_FAST_PYCALL
188  #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030A0000)
189  #endif
190  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
191  #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)
192  #endif
193  #ifndef CYTHON_USE_TP_FINALIZE
194  #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
195  #endif
196  #ifndef CYTHON_USE_DICT_VERSIONS
197  #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1)
198  #endif
199  #if PY_VERSION_HEX >= 0x030B00A4
200  #undef CYTHON_USE_EXC_INFO_STACK
201  #define CYTHON_USE_EXC_INFO_STACK 0
202  #elif !defined(CYTHON_USE_EXC_INFO_STACK)
203  #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3)
204  #endif
205  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
206  #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
207  #endif
208 #endif
209 #if !defined(CYTHON_FAST_PYCCALL)
210 #define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
211 #endif
212 #if CYTHON_USE_PYLONG_INTERNALS
213  #if PY_MAJOR_VERSION < 3
214  #include "longintrepr.h"
215  #endif
216  #undef SHIFT
217  #undef BASE
218  #undef MASK
219  #ifdef SIZEOF_VOID_P
220  enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
221  #endif
222 #endif
223 #ifndef __has_attribute
224  #define __has_attribute(x) 0
225 #endif
226 #ifndef __has_cpp_attribute
227  #define __has_cpp_attribute(x) 0
228 #endif
229 #ifndef CYTHON_RESTRICT
230  #if defined(__GNUC__)
231  #define CYTHON_RESTRICT __restrict__
232  #elif defined(_MSC_VER) && _MSC_VER >= 1400
233  #define CYTHON_RESTRICT __restrict
234  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
235  #define CYTHON_RESTRICT restrict
236  #else
237  #define CYTHON_RESTRICT
238  #endif
239 #endif
240 #ifndef CYTHON_UNUSED
241 # if defined(__GNUC__)
242 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
243 # define CYTHON_UNUSED __attribute__ ((__unused__))
244 # else
245 # define CYTHON_UNUSED
246 # endif
247 # elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
248 # define CYTHON_UNUSED __attribute__ ((__unused__))
249 # else
250 # define CYTHON_UNUSED
251 # endif
252 #endif
253 #ifndef CYTHON_MAYBE_UNUSED_VAR
254 # if defined(__cplusplus)
255  template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }
256 # else
257 # define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x)
258 # endif
259 #endif
260 #ifndef CYTHON_NCP_UNUSED
261 # if CYTHON_COMPILING_IN_CPYTHON
262 # define CYTHON_NCP_UNUSED
263 # else
264 # define CYTHON_NCP_UNUSED CYTHON_UNUSED
265 # endif
266 #endif
267 #define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
268 #ifdef _MSC_VER
269  #ifndef _MSC_STDINT_H_
270  #if _MSC_VER < 1300
271  typedef unsigned char uint8_t;
272  typedef unsigned int uint32_t;
273  #else
274  typedef unsigned __int8 uint8_t;
275  typedef unsigned __int32 uint32_t;
276  #endif
277  #endif
278 #else
279  #include <stdint.h>
280 #endif
281 #ifndef CYTHON_FALLTHROUGH
282  #if defined(__cplusplus) && __cplusplus >= 201103L
283  #if __has_cpp_attribute(fallthrough)
284  #define CYTHON_FALLTHROUGH [[fallthrough]]
285  #elif __has_cpp_attribute(clang::fallthrough)
286  #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
287  #elif __has_cpp_attribute(gnu::fallthrough)
288  #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
289  #endif
290  #endif
291  #ifndef CYTHON_FALLTHROUGH
292  #if __has_attribute(fallthrough)
293  #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
294  #else
295  #define CYTHON_FALLTHROUGH
296  #endif
297  #endif
298  #if defined(__clang__ ) && defined(__apple_build_version__)
299  #if __apple_build_version__ < 7000000
300  #undef CYTHON_FALLTHROUGH
301  #define CYTHON_FALLTHROUGH
302  #endif
303  #endif
304 #endif
305 
306 #ifndef __cplusplus
307  #error "Cython files generated with the C++ option must be compiled with a C++ compiler."
308 #endif
309 #ifndef CYTHON_INLINE
310  #if defined(__clang__)
311  #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
312  #else
313  #define CYTHON_INLINE inline
314  #endif
315 #endif
316 template<typename T>
317 void __Pyx_call_destructor(T& x) {
318  x.~T();
319 }
320 template<typename T>
321 class __Pyx_FakeReference {
322  public:
323  __Pyx_FakeReference() : ptr(NULL) { }
324  __Pyx_FakeReference(const T& ref) : ptr(const_cast<T*>(&ref)) { }
325  T *operator->() { return ptr; }
326  T *operator&() { return ptr; }
327  operator T&() { return *ptr; }
328  template<typename U> bool operator ==(U other) { return *ptr == other; }
329  template<typename U> bool operator !=(U other) { return *ptr != other; }
330  private:
331  T *ptr;
332 };
333 
334 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
335  #define Py_OptimizeFlag 0
336 #endif
337 #define __PYX_BUILD_PY_SSIZE_T "n"
338 #define CYTHON_FORMAT_SSIZE_T "z"
339 #if PY_MAJOR_VERSION < 3
340  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
341  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
342  PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
343  #define __Pyx_DefaultClassType PyClass_Type
344 #else
345  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
346  #define __Pyx_DefaultClassType PyType_Type
347 #if PY_VERSION_HEX >= 0x030B00A1
348  static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int k, int l, int s, int f,
349  PyObject *code, PyObject *c, PyObject* n, PyObject *v,
350  PyObject *fv, PyObject *cell, PyObject* fn,
351  PyObject *name, int fline, PyObject *lnos) {
352  PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL;
353  PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *call_result=NULL, *empty=NULL;
354  const char *fn_cstr=NULL;
355  const char *name_cstr=NULL;
356  PyCodeObject* co=NULL;
357  PyObject *type, *value, *traceback;
358  PyErr_Fetch(&type, &value, &traceback);
359  if (!(kwds=PyDict_New())) goto end;
360  if (!(argcount=PyLong_FromLong(a))) goto end;
361  if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end;
362  if (!(posonlyargcount=PyLong_FromLong(0))) goto end;
363  if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end;
364  if (!(kwonlyargcount=PyLong_FromLong(k))) goto end;
365  if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end;
366  if (!(nlocals=PyLong_FromLong(l))) goto end;
367  if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end;
368  if (!(stacksize=PyLong_FromLong(s))) goto end;
369  if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end;
370  if (!(flags=PyLong_FromLong(f))) goto end;
371  if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end;
372  if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end;
373  if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end;
374  if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end;
375  if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end;
376  if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end;
377  if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end;
378  if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end;
379  if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end;
380  if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end;
381  if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end;
382  if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto cleanup_code_too;
383  if (!(empty = PyTuple_New(0))) goto cleanup_code_too; // unfortunately __pyx_empty_tuple isn't available here
384  if (!(call_result = PyObject_Call(replace, empty, kwds))) goto cleanup_code_too;
385  Py_XDECREF((PyObject*)co);
386  co = (PyCodeObject*)call_result;
387  call_result = NULL;
388  if (0) {
389  cleanup_code_too:
390  Py_XDECREF((PyObject*)co);
391  co = NULL;
392  }
393  end:
394  Py_XDECREF(kwds);
395  Py_XDECREF(argcount);
396  Py_XDECREF(posonlyargcount);
397  Py_XDECREF(kwonlyargcount);
398  Py_XDECREF(nlocals);
399  Py_XDECREF(stacksize);
400  Py_XDECREF(replace);
401  Py_XDECREF(call_result);
402  Py_XDECREF(empty);
403  if (type) {
404  PyErr_Restore(type, value, traceback);
405  }
406  return co;
407  }
408 #else
409  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
410  PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
411 #endif
412  #define __Pyx_DefaultClassType PyType_Type
413 #endif
414 #ifndef Py_TPFLAGS_CHECKTYPES
415  #define Py_TPFLAGS_CHECKTYPES 0
416 #endif
417 #ifndef Py_TPFLAGS_HAVE_INDEX
418  #define Py_TPFLAGS_HAVE_INDEX 0
419 #endif
420 #ifndef Py_TPFLAGS_HAVE_NEWBUFFER
421  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
422 #endif
423 #ifndef Py_TPFLAGS_HAVE_FINALIZE
424  #define Py_TPFLAGS_HAVE_FINALIZE 0
425 #endif
426 #ifndef METH_STACKLESS
427  #define METH_STACKLESS 0
428 #endif
429 #if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)
430  #ifndef METH_FASTCALL
431  #define METH_FASTCALL 0x80
432  #endif
433  typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);
434  typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
435  Py_ssize_t nargs, PyObject *kwnames);
436 #else
437  #define __Pyx_PyCFunctionFast _PyCFunctionFast
438  #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
439 #endif
440 #if CYTHON_FAST_PYCCALL
441 #define __Pyx_PyFastCFunction_Check(func)\
442  ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)))))
443 #else
444 #define __Pyx_PyFastCFunction_Check(func) 0
445 #endif
446 #if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
447  #define PyObject_Malloc(s) PyMem_Malloc(s)
448  #define PyObject_Free(p) PyMem_Free(p)
449  #define PyObject_Realloc(p) PyMem_Realloc(p)
450 #endif
451 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1
452  #define PyMem_RawMalloc(n) PyMem_Malloc(n)
453  #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n)
454  #define PyMem_RawFree(p) PyMem_Free(p)
455 #endif
456 #if CYTHON_COMPILING_IN_PYSTON
457  #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co)
458  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno)
459 #else
460  #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0)
461  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno)
462 #endif
463 #if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000
464  #define __Pyx_PyThreadState_Current PyThreadState_GET()
465 #elif PY_VERSION_HEX >= 0x03060000
466  #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
467 #elif PY_VERSION_HEX >= 0x03000000
468  #define __Pyx_PyThreadState_Current PyThreadState_GET()
469 #else
470  #define __Pyx_PyThreadState_Current _PyThreadState_Current
471 #endif
472 #if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
473 #include "pythread.h"
474 #define Py_tss_NEEDS_INIT 0
475 typedef int Py_tss_t;
476 static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {
477  *key = PyThread_create_key();
478  return 0;
479 }
480 static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {
481  Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));
482  *key = Py_tss_NEEDS_INIT;
483  return key;
484 }
485 static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {
486  PyObject_Free(key);
487 }
488 static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {
489  return *key != Py_tss_NEEDS_INIT;
490 }
491 static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {
492  PyThread_delete_key(*key);
493  *key = Py_tss_NEEDS_INIT;
494 }
495 static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {
496  return PyThread_set_key_value(*key, value);
497 }
498 static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
499  return PyThread_get_key_value(*key);
500 }
501 #endif
502 #if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
503 #define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
504 #else
505 #define __Pyx_PyDict_NewPresized(n) PyDict_New()
506 #endif
507 #if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
508  #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
509  #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y)
510 #else
511  #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
512  #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
513 #endif
514 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS
515 #define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
516 #else
517 #define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name)
518 #endif
519 #if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
520  #define CYTHON_PEP393_ENABLED 1
521  #if defined(PyUnicode_IS_READY)
522  #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\
523  0 : _PyUnicode_Ready((PyObject *)(op)))
524  #else
525  #define __Pyx_PyUnicode_READY(op) (0)
526  #endif
527  #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
528  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
529  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u)
530  #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u)
531  #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u)
532  #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)
533  #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch)
534  #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE)
535  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
536  #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
537  #else
538  #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
539  #endif
540  #else
541  #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u))
542  #endif
543 #else
544  #define CYTHON_PEP393_ENABLED 0
545  #define PyUnicode_1BYTE_KIND 1
546  #define PyUnicode_2BYTE_KIND 2
547  #define PyUnicode_4BYTE_KIND 4
548  #define __Pyx_PyUnicode_READY(op) (0)
549  #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u)
550  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
551  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111)
552  #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE))
553  #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u))
554  #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
555  #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch)
556  #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u))
557 #endif
558 #if CYTHON_COMPILING_IN_PYPY
559  #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b)
560  #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b)
561 #else
562  #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b)
563  #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
564  PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
565 #endif
566 #if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains)
567  #define PyUnicode_Contains(u, s) PySequence_Contains(u, s)
568 #endif
569 #if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)
570  #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type)
571 #endif
572 #if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
573  #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt)
574 #endif
575 #define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
576 #define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
577 #if PY_MAJOR_VERSION >= 3
578  #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b)
579 #else
580  #define __Pyx_PyString_Format(a, b) PyString_Format(a, b)
581 #endif
582 #if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
583  #define PyObject_ASCII(o) PyObject_Repr(o)
584 #endif
585 #if PY_MAJOR_VERSION >= 3
586  #define PyBaseString_Type PyUnicode_Type
587  #define PyStringObject PyUnicodeObject
588  #define PyString_Type PyUnicode_Type
589  #define PyString_Check PyUnicode_Check
590  #define PyString_CheckExact PyUnicode_CheckExact
591 #ifndef PyObject_Unicode
592  #define PyObject_Unicode PyObject_Str
593 #endif
594 #endif
595 #if PY_MAJOR_VERSION >= 3
596  #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
597  #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
598 #else
599  #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
600  #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
601 #endif
602 #ifndef PySet_CheckExact
603  #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type)
604 #endif
605 #if PY_VERSION_HEX >= 0x030900A4
606  #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt)
607  #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size)
608 #else
609  #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)
610  #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
611 #endif
612 #if CYTHON_ASSUME_SAFE_MACROS
613  #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq)
614 #else
615  #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq)
616 #endif
617 #if PY_MAJOR_VERSION >= 3
618  #define PyIntObject PyLongObject
619  #define PyInt_Type PyLong_Type
620  #define PyInt_Check(op) PyLong_Check(op)
621  #define PyInt_CheckExact(op) PyLong_CheckExact(op)
622  #define PyInt_FromString PyLong_FromString
623  #define PyInt_FromUnicode PyLong_FromUnicode
624  #define PyInt_FromLong PyLong_FromLong
625  #define PyInt_FromSize_t PyLong_FromSize_t
626  #define PyInt_FromSsize_t PyLong_FromSsize_t
627  #define PyInt_AsLong PyLong_AsLong
628  #define PyInt_AS_LONG PyLong_AS_LONG
629  #define PyInt_AsSsize_t PyLong_AsSsize_t
630  #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
631  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
632  #define PyNumber_Int PyNumber_Long
633 #endif
634 #if PY_MAJOR_VERSION >= 3
635  #define PyBoolObject PyLongObject
636 #endif
637 #if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
638  #ifndef PyUnicode_InternFromString
639  #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
640  #endif
641 #endif
642 #if PY_VERSION_HEX < 0x030200A4
643  typedef long Py_hash_t;
644  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
645  #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t
646 #else
647  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
648  #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t
649 #endif
650 #if PY_MAJOR_VERSION >= 3
651  #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func))
652 #else
653  #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
654 #endif
655 #if CYTHON_USE_ASYNC_SLOTS
656  #if PY_VERSION_HEX >= 0x030500B1
657  #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
658  #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
659  #else
660  #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
661  #endif
662 #else
663  #define __Pyx_PyType_AsAsync(obj) NULL
664 #endif
665 #ifndef __Pyx_PyAsyncMethodsStruct
666  typedef struct {
667  unaryfunc am_await;
668  unaryfunc am_aiter;
669  unaryfunc am_anext;
670  } __Pyx_PyAsyncMethodsStruct;
671 #endif
672 
673 #if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)
674  #if !defined(_USE_MATH_DEFINES)
675  #define _USE_MATH_DEFINES
676  #endif
677 #endif
678 #include <math.h>
679 #ifdef NAN
680 #define __PYX_NAN() ((float) NAN)
681 #else
682 static CYTHON_INLINE float __PYX_NAN() {
683  float value;
684  memset(&value, 0xFF, sizeof(value));
685  return value;
686 }
687 #endif
688 #if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
689 #define __Pyx_truncl trunc
690 #else
691 #define __Pyx_truncl truncl
692 #endif
693 
694 #define __PYX_MARK_ERR_POS(f_index, lineno) \
695  { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; }
696 #define __PYX_ERR(f_index, lineno, Ln_error) \
697  { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }
698 
699 #ifndef __PYX_EXTERN_C
700  #ifdef __cplusplus
701  #define __PYX_EXTERN_C extern "C"
702  #else
703  #define __PYX_EXTERN_C extern
704  #endif
705 #endif
706 
707 #define __PYX_HAVE__mprans__BoundaryConditions
708 #define __PYX_HAVE_API__mprans__BoundaryConditions
709 /* Early includes */
710 #include <string.h>
711 #include <stdio.h>
712 #include "numpy/arrayobject.h"
713 #include "numpy/ndarrayobject.h"
714 #include "numpy/ndarraytypes.h"
715 #include "numpy/arrayscalars.h"
716 #include "numpy/ufuncobject.h"
717 
718  /* NumPy API declarations from "numpy/__init__.pxd" */
719 
720 #include "pythread.h"
721 #include <stdlib.h>
722 #include "pystate.h"
723 #ifdef _OPENMP
724 #include <omp.h>
725 #endif /* _OPENMP */
726 
727 #if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
728 #define CYTHON_WITHOUT_ASSERTIONS
729 #endif
730 
731 typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
732  const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;
733 
734 #define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
735 #define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
736 #define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)
737 #define __PYX_DEFAULT_STRING_ENCODING ""
738 #define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
739 #define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
740 #define __Pyx_uchar_cast(c) ((unsigned char)c)
741 #define __Pyx_long_cast(x) ((long)x)
742 #define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\
743  (sizeof(type) < sizeof(Py_ssize_t)) ||\
744  (sizeof(type) > sizeof(Py_ssize_t) &&\
745  likely(v < (type)PY_SSIZE_T_MAX ||\
746  v == (type)PY_SSIZE_T_MAX) &&\
747  (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
748  v == (type)PY_SSIZE_T_MIN))) ||\
749  (sizeof(type) == sizeof(Py_ssize_t) &&\
750  (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
751  v == (type)PY_SSIZE_T_MAX))) )
752 static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
753  return (size_t) i < (size_t) limit;
754 }
755 #if defined (__cplusplus) && __cplusplus >= 201103L
756  #include <cstdlib>
757  #define __Pyx_sst_abs(value) std::abs(value)
758 #elif SIZEOF_INT >= SIZEOF_SIZE_T
759  #define __Pyx_sst_abs(value) abs(value)
760 #elif SIZEOF_LONG >= SIZEOF_SIZE_T
761  #define __Pyx_sst_abs(value) labs(value)
762 #elif defined (_MSC_VER)
763  #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
764 #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
765  #define __Pyx_sst_abs(value) llabs(value)
766 #elif defined (__GNUC__)
767  #define __Pyx_sst_abs(value) __builtin_llabs(value)
768 #else
769  #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
770 #endif
771 static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
772 static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
773 #define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
774 #define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
775 #define __Pyx_PyBytes_FromString PyBytes_FromString
776 #define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
777 static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
778 #if PY_MAJOR_VERSION < 3
779  #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString
780  #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
781 #else
782  #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString
783  #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
784 #endif
785 #define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s))
786 #define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s))
787 #define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s))
788 #define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s))
789 #define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s))
790 #define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s))
791 #define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s))
792 #define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s))
793 #define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s))
794 #define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s))
795 #define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s))
796 #define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s)
797 #define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s)
798 #define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s)
799 #define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s)
800 #define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
801 static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
802  const Py_UNICODE *u_end = u;
803  while (*u_end++) ;
804  return (size_t)(u_end - u - 1);
805 }
806 #define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
807 #define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
808 #define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode
809 #define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
810 #define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
811 static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
812 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
813 static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
814 static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
815 #define __Pyx_PySequence_Tuple(obj)\
816  (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
817 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
818 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
819 static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
820 #if CYTHON_ASSUME_SAFE_MACROS
821 #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
822 #else
823 #define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
824 #endif
825 #define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
826 #if PY_MAJOR_VERSION >= 3
827 #define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
828 #else
829 #define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
830 #endif
831 #define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))
832 #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
833 static int __Pyx_sys_getdefaultencoding_not_ascii;
834 static int __Pyx_init_sys_getdefaultencoding_params(void) {
835  PyObject* sys;
836  PyObject* default_encoding = NULL;
837  PyObject* ascii_chars_u = NULL;
838  PyObject* ascii_chars_b = NULL;
839  const char* default_encoding_c;
840  sys = PyImport_ImportModule("sys");
841  if (!sys) goto bad;
842  default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
843  Py_DECREF(sys);
844  if (!default_encoding) goto bad;
845  default_encoding_c = PyBytes_AsString(default_encoding);
846  if (!default_encoding_c) goto bad;
847  if (strcmp(default_encoding_c, "ascii") == 0) {
848  __Pyx_sys_getdefaultencoding_not_ascii = 0;
849  } else {
850  char ascii_chars[128];
851  int c;
852  for (c = 0; c < 128; c++) {
853  ascii_chars[c] = c;
854  }
855  __Pyx_sys_getdefaultencoding_not_ascii = 1;
856  ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
857  if (!ascii_chars_u) goto bad;
858  ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
859  if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
860  PyErr_Format(
861  PyExc_ValueError,
862  "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
863  default_encoding_c);
864  goto bad;
865  }
866  Py_DECREF(ascii_chars_u);
867  Py_DECREF(ascii_chars_b);
868  }
869  Py_DECREF(default_encoding);
870  return 0;
871 bad:
872  Py_XDECREF(default_encoding);
873  Py_XDECREF(ascii_chars_u);
874  Py_XDECREF(ascii_chars_b);
875  return -1;
876 }
877 #endif
878 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
879 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
880 #else
881 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
882 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
883 static char* __PYX_DEFAULT_STRING_ENCODING;
884 static int __Pyx_init_sys_getdefaultencoding_params(void) {
885  PyObject* sys;
886  PyObject* default_encoding = NULL;
887  char* default_encoding_c;
888  sys = PyImport_ImportModule("sys");
889  if (!sys) goto bad;
890  default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
891  Py_DECREF(sys);
892  if (!default_encoding) goto bad;
893  default_encoding_c = PyBytes_AsString(default_encoding);
894  if (!default_encoding_c) goto bad;
895  __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);
896  if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
897  strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
898  Py_DECREF(default_encoding);
899  return 0;
900 bad:
901  Py_XDECREF(default_encoding);
902  return -1;
903 }
904 #endif
905 #endif
906 
907 
908 /* Test for GCC > 2.95 */
909 #if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
910  #define likely(x) __builtin_expect(!!(x), 1)
911  #define unlikely(x) __builtin_expect(!!(x), 0)
912 #else /* !__GNUC__ or GCC < 2.95 */
913  #define likely(x) (x)
914  #define unlikely(x) (x)
915 #endif /* __GNUC__ */
916 static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }
917 
918 static PyObject *__pyx_m = NULL;
919 static PyObject *__pyx_d;
920 static PyObject *__pyx_b;
921 static PyObject *__pyx_cython_runtime = NULL;
922 static PyObject *__pyx_empty_tuple;
923 static PyObject *__pyx_empty_bytes;
924 static PyObject *__pyx_empty_unicode;
925 static int __pyx_lineno;
926 static int __pyx_clineno = 0;
927 static const char * __pyx_cfilenm= __FILE__;
928 static const char *__pyx_filename;
929 
930 /* Header.proto */
931 #if !defined(CYTHON_CCOMPLEX)
932  #if defined(__cplusplus)
933  #define CYTHON_CCOMPLEX 1
934  #elif defined(_Complex_I)
935  #define CYTHON_CCOMPLEX 1
936  #else
937  #define CYTHON_CCOMPLEX 0
938  #endif
939 #endif
940 #if CYTHON_CCOMPLEX
941  #ifdef __cplusplus
942  #include <complex>
943  #else
944  #include <complex.h>
945  #endif
946 #endif
947 #if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__)
948  #undef _Complex_I
949  #define _Complex_I 1.0fj
950 #endif
951 
952 
953 static const char *__pyx_f[] = {
954  "proteus/mprans/BoundaryConditions.py",
955  "stringsource",
956  "proteus/mprans/BoundaryConditions.pxd",
957  "__init__.pxd",
958  "type.pxd",
959  "proteus/BoundaryConditions.pxd",
960 };
961 /* MemviewSliceStruct.proto */
962 struct __pyx_memoryview_obj;
963 typedef struct {
964  struct __pyx_memoryview_obj *memview;
965  char *data;
966  Py_ssize_t shape[8];
967  Py_ssize_t strides[8];
968  Py_ssize_t suboffsets[8];
969 } __Pyx_memviewslice;
970 #define __Pyx_MemoryView_Len(m) (m.shape[0])
971 
972 /* Atomics.proto */
973 #include <pythread.h>
974 #ifndef CYTHON_ATOMICS
975  #define CYTHON_ATOMICS 1
976 #endif
977 #define __pyx_atomic_int_type int
978 #if CYTHON_ATOMICS && __GNUC__ >= 4 && (__GNUC_MINOR__ > 1 ||\
979  (__GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL >= 2)) &&\
980  !defined(__i386__)
981  #define __pyx_atomic_incr_aligned(value, lock) __sync_fetch_and_add(value, 1)
982  #define __pyx_atomic_decr_aligned(value, lock) __sync_fetch_and_sub(value, 1)
983  #ifdef __PYX_DEBUG_ATOMICS
984  #warning "Using GNU atomics"
985  #endif
986 #elif CYTHON_ATOMICS && defined(_MSC_VER) && 0
987  #include <Windows.h>
988  #undef __pyx_atomic_int_type
989  #define __pyx_atomic_int_type LONG
990  #define __pyx_atomic_incr_aligned(value, lock) InterlockedIncrement(value)
991  #define __pyx_atomic_decr_aligned(value, lock) InterlockedDecrement(value)
992  #ifdef __PYX_DEBUG_ATOMICS
993  #pragma message ("Using MSVC atomics")
994  #endif
995 #elif CYTHON_ATOMICS && (defined(__ICC) || defined(__INTEL_COMPILER)) && 0
996  #define __pyx_atomic_incr_aligned(value, lock) _InterlockedIncrement(value)
997  #define __pyx_atomic_decr_aligned(value, lock) _InterlockedDecrement(value)
998  #ifdef __PYX_DEBUG_ATOMICS
999  #warning "Using Intel atomics"
1000  #endif
1001 #else
1002  #undef CYTHON_ATOMICS
1003  #define CYTHON_ATOMICS 0
1004  #ifdef __PYX_DEBUG_ATOMICS
1005  #warning "Not using atomics"
1006  #endif
1007 #endif
1008 typedef volatile __pyx_atomic_int_type __pyx_atomic_int;
1009 #if CYTHON_ATOMICS
1010  #define __pyx_add_acquisition_count(memview)\
1011  __pyx_atomic_incr_aligned(__pyx_get_slice_count_pointer(memview), memview->lock)
1012  #define __pyx_sub_acquisition_count(memview)\
1013  __pyx_atomic_decr_aligned(__pyx_get_slice_count_pointer(memview), memview->lock)
1014 #else
1015  #define __pyx_add_acquisition_count(memview)\
1016  __pyx_add_acquisition_count_locked(__pyx_get_slice_count_pointer(memview), memview->lock)
1017  #define __pyx_sub_acquisition_count(memview)\
1018  __pyx_sub_acquisition_count_locked(__pyx_get_slice_count_pointer(memview), memview->lock)
1019 #endif
1020 
1021 /* ForceInitThreads.proto */
1022 #ifndef __PYX_FORCE_INIT_THREADS
1023  #define __PYX_FORCE_INIT_THREADS 0
1024 #endif
1025 
1026 /* NoFastGil.proto */
1027 #define __Pyx_PyGILState_Ensure PyGILState_Ensure
1028 #define __Pyx_PyGILState_Release PyGILState_Release
1029 #define __Pyx_FastGIL_Remember()
1030 #define __Pyx_FastGIL_Forget()
1031 #define __Pyx_FastGilFuncInit()
1032 
1033 /* BufferFormatStructs.proto */
1034 #define IS_UNSIGNED(type) (((type) -1) > 0)
1035 struct __Pyx_StructField_;
1036 #define __PYX_BUF_FLAGS_PACKED_STRUCT (1 << 0)
1037 typedef struct {
1038  const char* name;
1039  struct __Pyx_StructField_* fields;
1040  size_t size;
1041  size_t arraysize[8];
1042  int ndim;
1043  char typegroup;
1044  char is_unsigned;
1045  int flags;
1046 } __Pyx_TypeInfo;
1047 typedef struct __Pyx_StructField_ {
1048  __Pyx_TypeInfo* type;
1049  const char* name;
1050  size_t offset;
1051 } __Pyx_StructField;
1052 typedef struct {
1053  __Pyx_StructField* field;
1054  size_t parent_offset;
1055 } __Pyx_BufFmt_StackElem;
1056 typedef struct {
1057  __Pyx_StructField root;
1058  __Pyx_BufFmt_StackElem* head;
1059  size_t fmt_offset;
1060  size_t new_count, enc_count;
1061  size_t struct_alignment;
1062  int is_complex;
1063  char enc_type;
1064  char new_packmode;
1065  char enc_packmode;
1066  char is_valid_array;
1067 } __Pyx_BufFmt_Context;
1068 
1069 
1070 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":690
1071  * # in Cython to enable them only on the right systems.
1072  *
1073  * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<<
1074  * ctypedef npy_int16 int16_t
1075  * ctypedef npy_int32 int32_t
1076  */
1077 typedef npy_int8 __pyx_t_5numpy_int8_t;
1078 
1079 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":691
1080  *
1081  * ctypedef npy_int8 int8_t
1082  * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<<
1083  * ctypedef npy_int32 int32_t
1084  * ctypedef npy_int64 int64_t
1085  */
1086 typedef npy_int16 __pyx_t_5numpy_int16_t;
1087 
1088 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":692
1089  * ctypedef npy_int8 int8_t
1090  * ctypedef npy_int16 int16_t
1091  * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<<
1092  * ctypedef npy_int64 int64_t
1093  * #ctypedef npy_int96 int96_t
1094  */
1095 typedef npy_int32 __pyx_t_5numpy_int32_t;
1096 
1097 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":693
1098  * ctypedef npy_int16 int16_t
1099  * ctypedef npy_int32 int32_t
1100  * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<<
1101  * #ctypedef npy_int96 int96_t
1102  * #ctypedef npy_int128 int128_t
1103  */
1104 typedef npy_int64 __pyx_t_5numpy_int64_t;
1105 
1106 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":697
1107  * #ctypedef npy_int128 int128_t
1108  *
1109  * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<<
1110  * ctypedef npy_uint16 uint16_t
1111  * ctypedef npy_uint32 uint32_t
1112  */
1113 typedef npy_uint8 __pyx_t_5numpy_uint8_t;
1114 
1115 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":698
1116  *
1117  * ctypedef npy_uint8 uint8_t
1118  * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<<
1119  * ctypedef npy_uint32 uint32_t
1120  * ctypedef npy_uint64 uint64_t
1121  */
1122 typedef npy_uint16 __pyx_t_5numpy_uint16_t;
1123 
1124 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":699
1125  * ctypedef npy_uint8 uint8_t
1126  * ctypedef npy_uint16 uint16_t
1127  * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<<
1128  * ctypedef npy_uint64 uint64_t
1129  * #ctypedef npy_uint96 uint96_t
1130  */
1131 typedef npy_uint32 __pyx_t_5numpy_uint32_t;
1132 
1133 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":700
1134  * ctypedef npy_uint16 uint16_t
1135  * ctypedef npy_uint32 uint32_t
1136  * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<<
1137  * #ctypedef npy_uint96 uint96_t
1138  * #ctypedef npy_uint128 uint128_t
1139  */
1140 typedef npy_uint64 __pyx_t_5numpy_uint64_t;
1141 
1142 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":704
1143  * #ctypedef npy_uint128 uint128_t
1144  *
1145  * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<<
1146  * ctypedef npy_float64 float64_t
1147  * #ctypedef npy_float80 float80_t
1148  */
1149 typedef npy_float32 __pyx_t_5numpy_float32_t;
1150 
1151 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":705
1152  *
1153  * ctypedef npy_float32 float32_t
1154  * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<<
1155  * #ctypedef npy_float80 float80_t
1156  * #ctypedef npy_float128 float128_t
1157  */
1158 typedef npy_float64 __pyx_t_5numpy_float64_t;
1159 
1160 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":714
1161  * # The int types are mapped a bit surprising --
1162  * # numpy.int corresponds to 'l' and numpy.long to 'q'
1163  * ctypedef npy_long int_t # <<<<<<<<<<<<<<
1164  * ctypedef npy_longlong long_t
1165  * ctypedef npy_longlong longlong_t
1166  */
1167 typedef npy_long __pyx_t_5numpy_int_t;
1168 
1169 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":715
1170  * # numpy.int corresponds to 'l' and numpy.long to 'q'
1171  * ctypedef npy_long int_t
1172  * ctypedef npy_longlong long_t # <<<<<<<<<<<<<<
1173  * ctypedef npy_longlong longlong_t
1174  *
1175  */
1176 typedef npy_longlong __pyx_t_5numpy_long_t;
1177 
1178 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":716
1179  * ctypedef npy_long int_t
1180  * ctypedef npy_longlong long_t
1181  * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<<
1182  *
1183  * ctypedef npy_ulong uint_t
1184  */
1185 typedef npy_longlong __pyx_t_5numpy_longlong_t;
1186 
1187 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":718
1188  * ctypedef npy_longlong longlong_t
1189  *
1190  * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<<
1191  * ctypedef npy_ulonglong ulong_t
1192  * ctypedef npy_ulonglong ulonglong_t
1193  */
1194 typedef npy_ulong __pyx_t_5numpy_uint_t;
1195 
1196 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":719
1197  *
1198  * ctypedef npy_ulong uint_t
1199  * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<<
1200  * ctypedef npy_ulonglong ulonglong_t
1201  *
1202  */
1203 typedef npy_ulonglong __pyx_t_5numpy_ulong_t;
1204 
1205 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":720
1206  * ctypedef npy_ulong uint_t
1207  * ctypedef npy_ulonglong ulong_t
1208  * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<<
1209  *
1210  * ctypedef npy_intp intp_t
1211  */
1212 typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
1213 
1214 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":722
1215  * ctypedef npy_ulonglong ulonglong_t
1216  *
1217  * ctypedef npy_intp intp_t # <<<<<<<<<<<<<<
1218  * ctypedef npy_uintp uintp_t
1219  *
1220  */
1221 typedef npy_intp __pyx_t_5numpy_intp_t;
1222 
1223 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":723
1224  *
1225  * ctypedef npy_intp intp_t
1226  * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<<
1227  *
1228  * ctypedef npy_double float_t
1229  */
1230 typedef npy_uintp __pyx_t_5numpy_uintp_t;
1231 
1232 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":725
1233  * ctypedef npy_uintp uintp_t
1234  *
1235  * ctypedef npy_double float_t # <<<<<<<<<<<<<<
1236  * ctypedef npy_double double_t
1237  * ctypedef npy_longdouble longdouble_t
1238  */
1239 typedef npy_double __pyx_t_5numpy_float_t;
1240 
1241 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":726
1242  *
1243  * ctypedef npy_double float_t
1244  * ctypedef npy_double double_t # <<<<<<<<<<<<<<
1245  * ctypedef npy_longdouble longdouble_t
1246  *
1247  */
1248 typedef npy_double __pyx_t_5numpy_double_t;
1249 
1250 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":727
1251  * ctypedef npy_double float_t
1252  * ctypedef npy_double double_t
1253  * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<<
1254  *
1255  * ctypedef npy_cfloat cfloat_t
1256  */
1257 typedef npy_longdouble __pyx_t_5numpy_longdouble_t;
1258 
1259 /* "mprans/BoundaryConditions.pxd":111
1260  * ctypedef double (*cfphirel) (RelaxationZone, double[3]) # pointer to phi function of RelaxationZone class
1261  * ctypedef double (*cfphiwave) (RelaxationZone, double[3]) # pointer to phi function of RelaxationZone class
1262  * ctypedef np.float64_t float64_t # <<<<<<<<<<<<<<
1263  * ctypedef np.int64_t int64_t
1264  *
1265  */
1266 typedef __pyx_t_5numpy_float64_t __pyx_t_6mprans_18BoundaryConditions_float64_t;
1267 
1268 /* "mprans/BoundaryConditions.pxd":112
1269  * ctypedef double (*cfphiwave) (RelaxationZone, double[3]) # pointer to phi function of RelaxationZone class
1270  * ctypedef np.float64_t float64_t
1271  * ctypedef np.int64_t int64_t # <<<<<<<<<<<<<<
1272  *
1273  * cdef class RelaxationZone:
1274  */
1275 typedef __pyx_t_5numpy_int64_t __pyx_t_6mprans_18BoundaryConditions_int64_t;
1276 /* Declarations.proto */
1277 #if CYTHON_CCOMPLEX
1278  #ifdef __cplusplus
1279  typedef ::std::complex< float > __pyx_t_float_complex;
1280  #else
1281  typedef float _Complex __pyx_t_float_complex;
1282  #endif
1283 #else
1284  typedef struct { float real, imag; } __pyx_t_float_complex;
1285 #endif
1286 static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float);
1287 
1288 /* Declarations.proto */
1289 #if CYTHON_CCOMPLEX
1290  #ifdef __cplusplus
1291  typedef ::std::complex< double > __pyx_t_double_complex;
1292  #else
1293  typedef double _Complex __pyx_t_double_complex;
1294  #endif
1295 #else
1296  typedef struct { double real, imag; } __pyx_t_double_complex;
1297 #endif
1298 static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double);
1299 
1300 
1301 /*--- Type declarations ---*/
1302 struct __pyx_obj_7proteus_18BoundaryConditions_BC_Base;
1303 struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition;
1304 struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS;
1305 struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone;
1306 struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator;
1307 struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics;
1308 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct__setRigidBodyMoveMesh;
1309 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_1_get_DBC_h;
1310 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_2_setChMoveMesh;
1311 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_3_setWallFunction;
1312 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_4_setMoveMesh;
1313 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_5_setUnsteadyTwoPhaseVelocityInlet;
1314 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_6_setTwoPhaseVelocityInlet;
1315 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_7_get_inlet_ux_dirichlet;
1316 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_8_setHydrostaticPressureOutletWithDepth;
1317 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_9_get_inlet_ux_dirichlet;
1318 struct __pyx_array_obj;
1319 struct __pyx_MemviewEnum_obj;
1320 struct __pyx_memoryview_obj;
1321 struct __pyx_memoryviewslice_obj;
1322 
1323 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":729
1324  * ctypedef npy_longdouble longdouble_t
1325  *
1326  * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<<
1327  * ctypedef npy_cdouble cdouble_t
1328  * ctypedef npy_clongdouble clongdouble_t
1329  */
1330 typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
1331 
1332 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":730
1333  *
1334  * ctypedef npy_cfloat cfloat_t
1335  * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<<
1336  * ctypedef npy_clongdouble clongdouble_t
1337  *
1338  */
1339 typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
1340 
1341 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":731
1342  * ctypedef npy_cfloat cfloat_t
1343  * ctypedef npy_cdouble cdouble_t
1344  * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<<
1345  *
1346  * ctypedef npy_cdouble complex_t
1347  */
1348 typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;
1349 
1350 /* "../miniconda3/envs/proteus-dev-up/lib/python3.10/site-packages/numpy/__init__.pxd":733
1351  * ctypedef npy_clongdouble clongdouble_t
1352  *
1353  * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<<
1354  *
1355  * cdef inline object PyArray_MultiIterNew1(a):
1356  */
1357 typedef npy_cdouble __pyx_t_5numpy_complex_t;
1358 
1359 /* "proteus/BoundaryConditions.pxd":16
1360  * # cpdef void getContext(BC_Base cls, object context=*)
1361  *
1362  * ctypedef double (*cpp_uOfXT) (BoundaryCondition, double[:], double) # <<<<<<<<<<<<<<
1363  * cdef class BoundaryCondition:
1364  * cdef cpp_uOfXT uuOfXT
1365  */
1366 typedef double (*__pyx_t_7proteus_18BoundaryConditions_cpp_uOfXT)(struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *, __Pyx_memviewslice, double);
1367 
1368 /* "mprans/BoundaryConditions.pxd":9
1369  * from proteus cimport BoundaryConditions
1370  *
1371  * ctypedef double[:,:,:] double_memview3 # <<<<<<<<<<<<<<
1372  * ctypedef double[:,:] double_memview2
1373  * ctypedef double[:] double_memview1
1374  */
1375 typedef __Pyx_memviewslice __pyx_t_6mprans_18BoundaryConditions_double_memview3;
1376 
1377 /* "mprans/BoundaryConditions.pxd":10
1378  *
1379  * ctypedef double[:,:,:] double_memview3
1380  * ctypedef double[:,:] double_memview2 # <<<<<<<<<<<<<<
1381  * ctypedef double[:] double_memview1
1382  * ctypedef int[:] int_memview1
1383  */
1384 typedef __Pyx_memviewslice __pyx_t_6mprans_18BoundaryConditions_double_memview2;
1385 
1386 /* "mprans/BoundaryConditions.pxd":11
1387  * ctypedef double[:,:,:] double_memview3
1388  * ctypedef double[:,:] double_memview2
1389  * ctypedef double[:] double_memview1 # <<<<<<<<<<<<<<
1390  * ctypedef int[:] int_memview1
1391  *
1392  */
1393 typedef __Pyx_memviewslice __pyx_t_6mprans_18BoundaryConditions_double_memview1;
1394 
1395 /* "mprans/BoundaryConditions.pxd":12
1396  * ctypedef double[:,:] double_memview2
1397  * ctypedef double[:] double_memview1
1398  * ctypedef int[:] int_memview1 # <<<<<<<<<<<<<<
1399  *
1400  * # ctypedef double (*cpp_uOfXT) (BC_RANS, double[:], double)
1401  */
1402 typedef __Pyx_memviewslice __pyx_t_6mprans_18BoundaryConditions_int_memview1;
1403 
1404 /* "mprans/BoundaryConditions.pxd":106
1405  * cdef double __cpp_UnsteadyTwoPhaseVelocityInlet_p_advective(self, double[:] x, double t)
1406  *
1407  * ctypedef double[:] (*cfvel) (double[3], double) # pointer to velocity function # <<<<<<<<<<<<<<
1408  * ctypedef double (*cfeta) (double[3], double) # pointer to eta function
1409  * ctypedef double[:] (*cfvelrel) (RelaxationZone, double[3], double) # pointer to velocity function of RelaxationZone class
1410  */
1411 typedef __Pyx_memviewslice (*__pyx_t_6mprans_18BoundaryConditions_cfvel)(double *, double);
1412 
1413 /* "mprans/BoundaryConditions.pxd":107
1414  *
1415  * ctypedef double[:] (*cfvel) (double[3], double) # pointer to velocity function
1416  * ctypedef double (*cfeta) (double[3], double) # pointer to eta function # <<<<<<<<<<<<<<
1417  * ctypedef double[:] (*cfvelrel) (RelaxationZone, double[3], double) # pointer to velocity function of RelaxationZone class
1418  * ctypedef double (*cfphirel) (RelaxationZone, double[3]) # pointer to phi function of RelaxationZone class
1419  */
1420 typedef double (*__pyx_t_6mprans_18BoundaryConditions_cfeta)(double *, double);
1421 
1422 /* "mprans/BoundaryConditions.pxd":108
1423  * ctypedef double[:] (*cfvel) (double[3], double) # pointer to velocity function
1424  * ctypedef double (*cfeta) (double[3], double) # pointer to eta function
1425  * ctypedef double[:] (*cfvelrel) (RelaxationZone, double[3], double) # pointer to velocity function of RelaxationZone class # <<<<<<<<<<<<<<
1426  * ctypedef double (*cfphirel) (RelaxationZone, double[3]) # pointer to phi function of RelaxationZone class
1427  * ctypedef double (*cfphiwave) (RelaxationZone, double[3]) # pointer to phi function of RelaxationZone class
1428  */
1429 typedef __Pyx_memviewslice (*__pyx_t_6mprans_18BoundaryConditions_cfvelrel)(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *, double *, double);
1430 
1431 /* "mprans/BoundaryConditions.pxd":109
1432  * ctypedef double (*cfeta) (double[3], double) # pointer to eta function
1433  * ctypedef double[:] (*cfvelrel) (RelaxationZone, double[3], double) # pointer to velocity function of RelaxationZone class
1434  * ctypedef double (*cfphirel) (RelaxationZone, double[3]) # pointer to phi function of RelaxationZone class # <<<<<<<<<<<<<<
1435  * ctypedef double (*cfphiwave) (RelaxationZone, double[3]) # pointer to phi function of RelaxationZone class
1436  * ctypedef np.float64_t float64_t
1437  */
1438 typedef double (*__pyx_t_6mprans_18BoundaryConditions_cfphirel)(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *, double *);
1439 
1440 /* "mprans/BoundaryConditions.pxd":110
1441  * ctypedef double[:] (*cfvelrel) (RelaxationZone, double[3], double) # pointer to velocity function of RelaxationZone class
1442  * ctypedef double (*cfphirel) (RelaxationZone, double[3]) # pointer to phi function of RelaxationZone class
1443  * ctypedef double (*cfphiwave) (RelaxationZone, double[3]) # pointer to phi function of RelaxationZone class # <<<<<<<<<<<<<<
1444  * ctypedef np.float64_t float64_t
1445  * ctypedef np.int64_t int64_t
1446  */
1447 typedef double (*__pyx_t_6mprans_18BoundaryConditions_cfphiwave)(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *, double *);
1448 
1449 /* "proteus/BoundaryConditions.pxd":5
1450  * import cython
1451  *
1452  * cdef class BC_Base: # <<<<<<<<<<<<<<
1453  * cdef double[:] _b_or
1454  * cdef public:
1455  */
1456 struct __pyx_obj_7proteus_18BoundaryConditions_BC_Base {
1457  PyObject_HEAD
1458  __Pyx_memviewslice _b_or;
1459  int nd;
1460  PyObject *Shape;
1461  PyObject *name;
1462  PyObject *BC_type;
1463  PyObject *ct;
1464 };
1465 
1466 
1467 /* "proteus/BoundaryConditions.pxd":17
1468  *
1469  * ctypedef double (*cpp_uOfXT) (BoundaryCondition, double[:], double)
1470  * cdef class BoundaryCondition: # <<<<<<<<<<<<<<
1471  * cdef cpp_uOfXT uuOfXT
1472  * cdef public:
1473  */
1474 struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition {
1475  PyObject_HEAD
1476  struct __pyx_vtabstruct_7proteus_18BoundaryConditions_BoundaryCondition *__pyx_vtab;
1477  __pyx_t_7proteus_18BoundaryConditions_cpp_uOfXT uuOfXT;
1478  PyObject *uOfXT;
1479 };
1480 
1481 
1482 /* "mprans/BoundaryConditions.pxd":16
1483  * # ctypedef double (*cpp_uOfXT) (BC_RANS, double[:], double)
1484  *
1485  * cdef class BC_RANS(BC_Base): # <<<<<<<<<<<<<<
1486  * cdef double[:] zero_array
1487  * cdef double f
1488  */
1489 struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS {
1490  struct __pyx_obj_7proteus_18BoundaryConditions_BC_Base __pyx_base;
1491  struct __pyx_vtabstruct_6mprans_18BoundaryConditions_BC_RANS *__pyx_vtab;
1492  __Pyx_memviewslice zero_array;
1493  double f;
1494  struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *waves;
1495  PyObject *body;
1496  __Pyx_memviewslice wind_speed;
1497  __Pyx_memviewslice body_python_rot_matrix;
1498  __Pyx_memviewslice body_python_last_pos;
1499  __Pyx_memviewslice body_python_h;
1500  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *p_dirichlet;
1501  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *u_dirichlet;
1502  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *v_dirichlet;
1503  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *w_dirichlet;
1504  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *phi_dirichlet;
1505  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *vof_dirichlet;
1506  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *k_dirichlet;
1507  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *dissipation_dirichlet;
1508  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *pAddedMass_dirichlet;
1509  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *p_advective;
1510  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *u_advective;
1511  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *v_advective;
1512  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *w_advective;
1513  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *vof_advective;
1514  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *k_advective;
1515  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *dissipation_advective;
1516  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *u_diffusive;
1517  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *v_diffusive;
1518  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *w_diffusive;
1519  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *k_diffusive;
1520  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *dissipation_diffusive;
1521  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *hx_dirichlet;
1522  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *hy_dirichlet;
1523  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *hz_dirichlet;
1524  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *u_stress;
1525  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *v_stress;
1526  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *w_stress;
1527  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *us_dirichlet;
1528  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *vs_dirichlet;
1529  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *ws_dirichlet;
1530  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *vos_dirichlet;
1531  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *us_advective;
1532  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *vs_advective;
1533  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *ws_advective;
1534  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *vos_advective;
1535  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *us_diffusive;
1536  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *vs_diffusive;
1537  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *ws_diffusive;
1538  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *pInit_dirichlet;
1539  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *pInc_dirichlet;
1540  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *pInit_advective;
1541  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *pInc_advective;
1542  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *pInit_diffusive;
1543  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *pInc_diffusive;
1544  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *clsvof_dirichlet;
1545  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *clsvof_advective;
1546  struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *clsvof_diffusive;
1547 };
1548 
1549 
1550 /* "mprans/BoundaryConditions.pxd":114
1551  * ctypedef np.int64_t int64_t
1552  *
1553  * cdef class RelaxationZone: # <<<<<<<<<<<<<<
1554  * cdef double[:] wind_speed
1555  * cdef double[:] u_calc # calculated velocity
1556  */
1557 struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone {
1558  PyObject_HEAD
1559  struct __pyx_vtabstruct_6mprans_18BoundaryConditions_RelaxationZone *__pyx_vtab;
1560  __Pyx_memviewslice wind_speed;
1561  __Pyx_memviewslice u_calc;
1562  __pyx_t_6mprans_18BoundaryConditions_cfvelrel uu;
1563  __pyx_t_6mprans_18BoundaryConditions_cfphirel phi;
1564  double mwl;
1565  __pyx_t_6mprans_18BoundaryConditions_cfeta eta;
1566  double waveHeight;
1567  double wavePhi;
1568  double waterSpeed;
1569  int nd;
1570  __Pyx_memviewslice zero_vel;
1571  struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *waves;
1572  PyObject *Shape;
1573  PyObject *zone_type;
1574  double dragAlpha;
1575  double dragBeta;
1576  double porosity;
1577  double epsFact_solid;
1578  double epsFact_porous;
1579  double vert_axis;
1580  __Pyx_memviewslice center;
1581  __Pyx_memviewslice orientation;
1582 };
1583 
1584 
1585 /* "mprans/BoundaryConditions.pxd":152
1586  * cdef double __cpp_calculate_phi_porous_sponge(self, double[3] x)
1587  *
1588  * cdef class RelaxationZoneWaveGenerator: # <<<<<<<<<<<<<<
1589  * cdef int nd # dimension
1590  * cdef int max_flag # maximum region flag of relaxation zones (initialised in calculate_init)
1591  */
1592 struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator {
1593  PyObject_HEAD
1594  struct __pyx_vtabstruct_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_vtab;
1595  int nd;
1596  int max_flag;
1597  PyArrayObject *zones_array;
1598  PyObject *zones;
1599  PyObject *model;
1600  PyObject *ar;
1601 };
1602 
1603 
1604 /* "mprans/BoundaryConditions.pxd":172
1605  *
1606  *
1607  * cdef class __cppClass_WavesCharacteristics: # <<<<<<<<<<<<<<
1608  * cdef int vert_axis # vertical axis
1609  * # relaxation zone info (if any)
1610  */
1611 struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics {
1612  PyObject_HEAD
1613  struct __pyx_vtabstruct_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *__pyx_vtab;
1614  int vert_axis;
1615  __Pyx_memviewslice center;
1616  __Pyx_memviewslice orientation;
1617  __Pyx_memviewslice zero_vel;
1618  __Pyx_memviewslice _b_or;
1619  __Pyx_memviewslice wind_speed;
1620  double vof_air;
1621  double vof_water;
1622  double smoothing;
1623  PyObject *WT;
1624 };
1625 
1626 
1627 /* "mprans/BoundaryConditions.py":377
1628  * else:
1629  * logEvent("WARNING: Dirichlet condition for dissipation in "+str(self.BC_type)+" has not been set. Ignore if RANS is not used")
1630  * def setRigidBodyMoveMesh(self, body): # <<<<<<<<<<<<<<
1631  * """
1632  * Sets boundary conditions for moving the mesh with a rigid body
1633  */
1634 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct__setRigidBodyMoveMesh {
1635  PyObject_HEAD
1636  PyObject *__pyx_v_body;
1637 };
1638 
1639 
1640 /* "mprans/BoundaryConditions.py":394
1641  * without loosing their memory address
1642  * """
1643  * def get_DBC_h(i): # <<<<<<<<<<<<<<
1644  * def DBC_h(x, t, n=None):
1645  * x_0 = x - body.last_position
1646  */
1647 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_1_get_DBC_h {
1648  PyObject_HEAD
1649  struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct__setRigidBodyMoveMesh *__pyx_outer_scope;
1650  PyObject *__pyx_v_i;
1651 };
1652 
1653 
1654 /* "mprans/BoundaryConditions.py":406
1655  * self.hz_dirichlet.uOfXT = get_DBC_h(2)
1656  *
1657  * def setChMoveMesh(self, body): # <<<<<<<<<<<<<<
1658  * self.hx_dirichlet.uOfXT = lambda x, t, n=None: body.hx(x, t)
1659  * self.hy_dirichlet.uOfXT = lambda x, t, n=None: body.hy(x, t)
1660  */
1661 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_2_setChMoveMesh {
1662  PyObject_HEAD
1663  PyObject *__pyx_v_body;
1664 };
1665 
1666 
1667 /* "mprans/BoundaryConditions.py":446
1668  * self.dissipation_diffusive.setConstantBC(0.)
1669  *
1670  * def setWallFunction(self, wall, shearStress=False): # <<<<<<<<<<<<<<
1671  * """
1672  * Sets turbulent boundaries for wall treatment.
1673  */
1674 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_3_setWallFunction {
1675  PyObject_HEAD
1676  PyObject *__pyx_v_wf;
1677 };
1678 
1679 
1680 /* "mprans/BoundaryConditions.py":494
1681  * self.k_dirichlet.uOfXT = lambda x, t: wf.get_k_dirichlet(x, t)
1682  * """
1683  * def setMoveMesh(self, last_pos, h=(0., 0., 0.), rot_matrix=None): # <<<<<<<<<<<<<<
1684  * """
1685  * Sets boundary conditions for moving the mesh with a rigid body
1686  */
1687 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_4_setMoveMesh {
1688  PyObject_HEAD
1689  struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self;
1690 };
1691 
1692 
1693 /* "mprans/BoundaryConditions.py":544
1694  * return self.__cpp_MoveMesh_h(x, t)[2]
1695  *
1696  * def setUnsteadyTwoPhaseVelocityInlet(self, wave, smoothing, vert_axis=None,orientation=None, # <<<<<<<<<<<<<<
1697  * wind_speed=None, vof_air=1., vof_water=0.,kInflow=1e-30, dInflow = 1e-10):
1698  * """
1699  */
1700 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_5_setUnsteadyTwoPhaseVelocityInlet {
1701  PyObject_HEAD
1702  struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self;
1703 };
1704 
1705 
1706 /* "mprans/BoundaryConditions.py":644
1707  * return self.waves.__cpp_calculate_vof(xx, t)
1708  *
1709  * def setTwoPhaseVelocityInlet(self, U, waterLevel, smoothing, Uwind=None, # <<<<<<<<<<<<<<
1710  * vert_axis=None, air=1., water=0.,
1711  * kInflow=None, dissipationInflow=None,
1712  */
1713 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_6_setTwoPhaseVelocityInlet {
1714  PyObject_HEAD
1715  PyObject *__pyx_v_U;
1716  PyObject *__pyx_v_Uwind;
1717  PyObject *__pyx_v_air;
1718  PyObject *__pyx_v_dissipationInflow;
1719  PyObject *__pyx_v_dissipationInflowAir;
1720  PyObject *__pyx_v_kInflow;
1721  PyObject *__pyx_v_kInflowAir;
1722  struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self;
1723  PyObject *__pyx_v_smoothing;
1724  PyObject *__pyx_v_vert_axis;
1725  PyObject *__pyx_v_water;
1726  PyObject *__pyx_v_waterLevel;
1727 };
1728 
1729 
1730 /* "mprans/BoundaryConditions.py":696
1731  * Uwind = np.array(Uwind)
1732  *
1733  * def get_inlet_ux_dirichlet(i): # <<<<<<<<<<<<<<
1734  * def ux_dirichlet(x, t, n=None):
1735  * phi = x[vert_axis] - waterLevel
1736  */
1737 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_7_get_inlet_ux_dirichlet {
1738  PyObject_HEAD
1739  struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_6_setTwoPhaseVelocityInlet *__pyx_outer_scope;
1740  PyObject *__pyx_v_i;
1741 };
1742 
1743 
1744 /* "mprans/BoundaryConditions.py":774
1745  * self.dissipation_diffusive.resetBC()
1746  *
1747  * def setHydrostaticPressureOutletWithDepth(self, seaLevel, rhoUp, rhoDown, g, # <<<<<<<<<<<<<<
1748  * refLevel, smoothing, orientation=None,U=None, Uwind=None,
1749  * pRef=0.0, vert_axis=None,
1750  */
1751 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_8_setHydrostaticPressureOutletWithDepth {
1752  PyObject_HEAD
1753  PyObject *__pyx_v_U;
1754  PyObject *__pyx_v_Uwind;
1755  PyObject *__pyx_v_air;
1756  PyObject *__pyx_v_dissipationInflow;
1757  PyObject *__pyx_v_dissipationInflowAir;
1758  PyObject *__pyx_v_g;
1759  PyObject *__pyx_v_kInflow;
1760  PyObject *__pyx_v_kInflowAir;
1761  PyObject *__pyx_v_pRef;
1762  PyObject *__pyx_v_refLevel;
1763  PyObject *__pyx_v_rhoDown;
1764  PyObject *__pyx_v_rhoUp;
1765  PyObject *__pyx_v_seaLevel;
1766  PyObject *__pyx_v_smoothing;
1767  PyObject *__pyx_v_vert_axis;
1768  PyObject *__pyx_v_water;
1769 };
1770 
1771 
1772 /* "mprans/BoundaryConditions.py":878
1773  * self.dissipation_diffusive.setConstantBC(0.)
1774  * if U is not None:
1775  * def get_inlet_ux_dirichlet(i): # <<<<<<<<<<<<<<
1776  * def ux_dirichlet(x, t, n=None):
1777  * phi = x[vert_axis] - seaLevel
1778  */
1779 struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_9_get_inlet_ux_dirichlet {
1780  PyObject_HEAD
1781  struct __pyx_obj_6mprans_18BoundaryConditions___pyx_scope_struct_8_setHydrostaticPressureOutletWithDepth *__pyx_outer_scope;
1782  PyObject *__pyx_v_i;
1783 };
1784 
1785 
1786 /* "View.MemoryView":105
1787  *
1788  * @cname("__pyx_array")
1789  * cdef class array: # <<<<<<<<<<<<<<
1790  *
1791  * cdef:
1792  */
1793 struct __pyx_array_obj {
1794  PyObject_HEAD
1795  struct __pyx_vtabstruct_array *__pyx_vtab;
1796  char *data;
1797  Py_ssize_t len;
1798  char *format;
1799  int ndim;
1800  Py_ssize_t *_shape;
1801  Py_ssize_t *_strides;
1802  Py_ssize_t itemsize;
1803  PyObject *mode;
1804  PyObject *_format;
1805  void (*callback_free_data)(void *);
1806  int free_data;
1807  int dtype_is_object;
1808 };
1809 
1810 
1811 /* "View.MemoryView":279
1812  *
1813  * @cname('__pyx_MemviewEnum')
1814  * cdef class Enum(object): # <<<<<<<<<<<<<<
1815  * cdef object name
1816  * def __init__(self, name):
1817  */
1818 struct __pyx_MemviewEnum_obj {
1819  PyObject_HEAD
1820  PyObject *name;
1821 };
1822 
1823 
1824 /* "View.MemoryView":330
1825  *
1826  * @cname('__pyx_memoryview')
1827  * cdef class memoryview(object): # <<<<<<<<<<<<<<
1828  *
1829  * cdef object obj
1830  */
1831 struct __pyx_memoryview_obj {
1832  PyObject_HEAD
1833  struct __pyx_vtabstruct_memoryview *__pyx_vtab;
1834  PyObject *obj;
1835  PyObject *_size;
1836  PyObject *_array_interface;
1837  PyThread_type_lock lock;
1838  __pyx_atomic_int acquisition_count[2];
1839  __pyx_atomic_int *acquisition_count_aligned_p;
1840  Py_buffer view;
1841  int flags;
1842  int dtype_is_object;
1843  __Pyx_TypeInfo *typeinfo;
1844 };
1845 
1846 
1847 /* "View.MemoryView":965
1848  *
1849  * @cname('__pyx_memoryviewslice')
1850  * cdef class _memoryviewslice(memoryview): # <<<<<<<<<<<<<<
1851  * "Internal class for passing memoryview slices to Python"
1852  *
1853  */
1854 struct __pyx_memoryviewslice_obj {
1855  struct __pyx_memoryview_obj __pyx_base;
1856  __Pyx_memviewslice from_slice;
1857  PyObject *from_object;
1858  PyObject *(*to_object_func)(char *);
1859  int (*to_dtype_func)(char *, PyObject *);
1860 };
1861 
1862 
1863 
1864 /* "proteus/BoundaryConditions.pxd":17
1865  *
1866  * ctypedef double (*cpp_uOfXT) (BoundaryCondition, double[:], double)
1867  * cdef class BoundaryCondition: # <<<<<<<<<<<<<<
1868  * cdef cpp_uOfXT uuOfXT
1869  * cdef public:
1870  */
1871 
1872 struct __pyx_vtabstruct_7proteus_18BoundaryConditions_BoundaryCondition {
1873  void (*resetBC)(struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *, int __pyx_skip_dispatch);
1874 };
1875 static struct __pyx_vtabstruct_7proteus_18BoundaryConditions_BoundaryCondition *__pyx_vtabptr_7proteus_18BoundaryConditions_BoundaryCondition;
1876 
1877 
1878 /* "mprans/BoundaryConditions.py":38
1879  *
1880  *
1881  * class BC_RANS(BoundaryConditions.BC_Base): # <<<<<<<<<<<<<<
1882  * """
1883  * Class regrouping boundary conditions for two-phase flows
1884  */
1885 
1886 struct __pyx_vtabstruct_6mprans_18BoundaryConditions_BC_RANS {
1887  __Pyx_memviewslice (*__pyx___cpp_MoveMesh_h)(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *, __Pyx_memviewslice, double, int __pyx_skip_dispatch);
1888  double (*__pyx___cpp_MoveMesh_hx)(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *, __Pyx_memviewslice, double, int __pyx_skip_dispatch);
1889  double (*__pyx___cpp_MoveMesh_hy)(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *, __Pyx_memviewslice, double, int __pyx_skip_dispatch);
1890  double (*__pyx___cpp_MoveMesh_hz)(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *, __Pyx_memviewslice, double, int __pyx_skip_dispatch);
1891  double (*__pyx___cpp_UnsteadyTwoPhaseVelocityInlet_u_dirichlet)(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *, __Pyx_memviewslice, double);
1892  double (*__pyx___cpp_UnsteadyTwoPhaseVelocityInlet_v_dirichlet)(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *, __Pyx_memviewslice, double);
1893  double (*__pyx___cpp_UnsteadyTwoPhaseVelocityInlet_w_dirichlet)(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *, __Pyx_memviewslice, double);
1894  double (*__pyx___cpp_UnsteadyTwoPhaseVelocityInlet_phi_dirichlet)(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *, __Pyx_memviewslice, double);
1895  double (*__pyx___cpp_UnsteadyTwoPhaseVelocityInlet_vof_dirichlet)(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *, __Pyx_memviewslice, double);
1896  double (*__pyx___cpp_UnsteadyTwoPhaseVelocityInlet_p_advective)(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *, __Pyx_memviewslice, double);
1897 };
1898 static struct __pyx_vtabstruct_6mprans_18BoundaryConditions_BC_RANS *__pyx_vtabptr_6mprans_18BoundaryConditions_BC_RANS;
1899 
1900 
1901 /* "mprans/BoundaryConditions.py":910
1902  * # for regions
1903  *
1904  * class RelaxationZone: # <<<<<<<<<<<<<<
1905  * """
1906  * Holds information about a relaxation zone (wave generation/absorption
1907  */
1908 
1909 struct __pyx_vtabstruct_6mprans_18BoundaryConditions_RelaxationZone {
1910  void (*calculate_init)(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *, int __pyx_skip_dispatch);
1911  __Pyx_memviewslice (*calculate_vel)(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *, double *, double);
1912  __Pyx_memviewslice (*__pyx___cpp_calculate_vel_wave)(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *, double *, double);
1913  __Pyx_memviewslice (*__pyx___cpp_calculate_vel_zero)(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *, double *, double);
1914  double (*calculate_phi)(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *, double *);
1915  double (*__pyx___cpp_calculate_phi_porous)(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *, double *);
1916  double (*__pyx___cpp_calculate_phi_porous_sponge)(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *, double *);
1917 };
1918 static struct __pyx_vtabstruct_6mprans_18BoundaryConditions_RelaxationZone *__pyx_vtabptr_6mprans_18BoundaryConditions_RelaxationZone;
1919 
1920 
1921 /* "mprans/BoundaryConditions.py":1036
1922  *
1923  *
1924  * class RelaxationZoneWaveGenerator: # <<<<<<<<<<<<<<
1925  * """
1926  * Prescribe a velocity penalty scaling in a material zone via a
1927  */
1928 
1929 struct __pyx_vtabstruct_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator {
1930  void (*calculate_init)(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *, int __pyx_skip_dispatch);
1931  void (*calculate)(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *, int __pyx_skip_dispatch);
1932  void (*__pyx___cpp_iterate)(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *);
1933 };
1934 static struct __pyx_vtabstruct_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_vtabptr_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator;
1935 
1936 
1937 /* "mprans/BoundaryConditions.py":1109
1938  *
1939  *
1940  * class __cppClass_WavesCharacteristics: # <<<<<<<<<<<<<<
1941  * """
1942  * Class holding information from WaveTools waves and cnvering it to
1943  */
1944 
1945 struct __pyx_vtabstruct_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics {
1946  __Pyx_memviewslice (*__pyx___cpp_calculate_velocity)(struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *, double *, double);
1947  double (*__pyx___cpp_calculate_pressure)(struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *, double *, double);
1948  double (*__pyx___cpp_calculate_phi)(struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *, double *, double);
1949  double (*__pyx___cpp_calculate_vof)(struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *, double *, double);
1950  double (*__pyx___cpp_calculate_smoothing_H)(struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *, double);
1951 };
1952 static struct __pyx_vtabstruct_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *__pyx_vtabptr_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics;
1953 
1954 
1955 /* "View.MemoryView":105
1956  *
1957  * @cname("__pyx_array")
1958  * cdef class array: # <<<<<<<<<<<<<<
1959  *
1960  * cdef:
1961  */
1962 
1963 struct __pyx_vtabstruct_array {
1964  PyObject *(*get_memview)(struct __pyx_array_obj *);
1965 };
1966 static struct __pyx_vtabstruct_array *__pyx_vtabptr_array;
1967 
1968 
1969 /* "View.MemoryView":330
1970  *
1971  * @cname('__pyx_memoryview')
1972  * cdef class memoryview(object): # <<<<<<<<<<<<<<
1973  *
1974  * cdef object obj
1975  */
1976 
1977 struct __pyx_vtabstruct_memoryview {
1978  char *(*get_item_pointer)(struct __pyx_memoryview_obj *, PyObject *);
1979  PyObject *(*is_slice)(struct __pyx_memoryview_obj *, PyObject *);
1980  PyObject *(*setitem_slice_assignment)(struct __pyx_memoryview_obj *, PyObject *, PyObject *);
1981  PyObject *(*setitem_slice_assign_scalar)(struct __pyx_memoryview_obj *, struct __pyx_memoryview_obj *, PyObject *);
1982  PyObject *(*setitem_indexed)(struct __pyx_memoryview_obj *, PyObject *, PyObject *);
1983  PyObject *(*convert_item_to_object)(struct __pyx_memoryview_obj *, char *);
1984  PyObject *(*assign_item_from_object)(struct __pyx_memoryview_obj *, char *, PyObject *);
1985 };
1986 static struct __pyx_vtabstruct_memoryview *__pyx_vtabptr_memoryview;
1987 
1988 
1989 /* "View.MemoryView":965
1990  *
1991  * @cname('__pyx_memoryviewslice')
1992  * cdef class _memoryviewslice(memoryview): # <<<<<<<<<<<<<<
1993  * "Internal class for passing memoryview slices to Python"
1994  *
1995  */
1996 
1997 struct __pyx_vtabstruct__memoryviewslice {
1998  struct __pyx_vtabstruct_memoryview __pyx_base;
1999 };
2000 static struct __pyx_vtabstruct__memoryviewslice *__pyx_vtabptr__memoryviewslice;
2001 
2002 /* --- Runtime support code (head) --- */
2003 /* Refnanny.proto */
2004 #ifndef CYTHON_REFNANNY
2005  #define CYTHON_REFNANNY 0
2006 #endif
2007 #if CYTHON_REFNANNY
2008  typedef struct {
2009  void (*INCREF)(void*, PyObject*, int);
2010  void (*DECREF)(void*, PyObject*, int);
2011  void (*GOTREF)(void*, PyObject*, int);
2012  void (*GIVEREF)(void*, PyObject*, int);
2013  void* (*SetupContext)(const char*, int, const char*);
2014  void (*FinishContext)(void**);
2015  } __Pyx_RefNannyAPIStruct;
2016  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
2017  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
2018  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
2019 #ifdef WITH_THREAD
2020  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
2021  if (acquire_gil) {\
2022  PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
2023  __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
2024  PyGILState_Release(__pyx_gilstate_save);\
2025  } else {\
2026  __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
2027  }
2028 #else
2029  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
2030  __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
2031 #endif
2032  #define __Pyx_RefNannyFinishContext()\
2033  __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
2034  #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
2035  #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
2036  #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
2037  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
2038  #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
2039  #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
2040  #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
2041  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
2042 #else
2043  #define __Pyx_RefNannyDeclarations
2044  #define __Pyx_RefNannySetupContext(name, acquire_gil)
2045  #define __Pyx_RefNannyFinishContext()
2046  #define __Pyx_INCREF(r) Py_INCREF(r)
2047  #define __Pyx_DECREF(r) Py_DECREF(r)
2048  #define __Pyx_GOTREF(r)
2049  #define __Pyx_GIVEREF(r)
2050  #define __Pyx_XINCREF(r) Py_XINCREF(r)
2051  #define __Pyx_XDECREF(r) Py_XDECREF(r)
2052  #define __Pyx_XGOTREF(r)
2053  #define __Pyx_XGIVEREF(r)
2054 #endif
2055 #define __Pyx_XDECREF_SET(r, v) do {\
2056  PyObject *tmp = (PyObject *) r;\
2057  r = v; __Pyx_XDECREF(tmp);\
2058  } while (0)
2059 #define __Pyx_DECREF_SET(r, v) do {\
2060  PyObject *tmp = (PyObject *) r;\
2061  r = v; __Pyx_DECREF(tmp);\
2062  } while (0)
2063 #define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
2064 #define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
2065 
2066 /* PyObjectGetAttrStr.proto */
2067 #if CYTHON_USE_TYPE_SLOTS
2068 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
2069 #else
2070 #define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
2071 #endif
2072 
2073 /* GetBuiltinName.proto */
2074 static PyObject *__Pyx_GetBuiltinName(PyObject *name);
2075 
2076 /* RaiseDoubleKeywords.proto */
2077 static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
2078 
2079 /* ParseKeywords.proto */
2080 static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\
2081  PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\
2082  const char* function_name);
2083 
2084 /* RaiseArgTupleInvalid.proto */
2085 static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
2086  Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
2087 
2088 /* PyThreadStateGet.proto */
2089 #if CYTHON_FAST_THREAD_STATE
2090 #define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate;
2091 #define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current;
2092 #define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type
2093 #else
2094 #define __Pyx_PyThreadState_declare
2095 #define __Pyx_PyThreadState_assign
2096 #define __Pyx_PyErr_Occurred() PyErr_Occurred()
2097 #endif
2098 
2099 /* PyErrFetchRestore.proto */
2100 #if CYTHON_FAST_THREAD_STATE
2101 #define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
2102 #define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
2103 #define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
2104 #define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
2105 #define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
2106 static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
2107 static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
2108 #if CYTHON_COMPILING_IN_CPYTHON
2109 #define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
2110 #else
2111 #define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
2112 #endif
2113 #else
2114 #define __Pyx_PyErr_Clear() PyErr_Clear()
2115 #define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
2116 #define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb)
2117 #define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb)
2118 #define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb)
2119 #define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb)
2120 #define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb)
2121 #define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb)
2122 #endif
2123 
2124 /* Profile.proto */
2125 #ifndef CYTHON_PROFILE
2126 #if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON
2127  #define CYTHON_PROFILE 0
2128 #else
2129  #define CYTHON_PROFILE 1
2130 #endif
2131 #endif
2132 #ifndef CYTHON_TRACE_NOGIL
2133  #define CYTHON_TRACE_NOGIL 0
2134 #else
2135  #if CYTHON_TRACE_NOGIL && !defined(CYTHON_TRACE)
2136  #define CYTHON_TRACE 1
2137  #endif
2138 #endif
2139 #ifndef CYTHON_TRACE
2140  #define CYTHON_TRACE 0
2141 #endif
2142 #if CYTHON_TRACE
2143  #undef CYTHON_PROFILE_REUSE_FRAME
2144 #endif
2145 #ifndef CYTHON_PROFILE_REUSE_FRAME
2146  #define CYTHON_PROFILE_REUSE_FRAME 0
2147 #endif
2148 #if CYTHON_PROFILE || CYTHON_TRACE
2149  #include "compile.h"
2150  #include "frameobject.h"
2151  #include "traceback.h"
2152 #if PY_VERSION_HEX >= 0x030b00a6
2153  #ifndef Py_BUILD_CORE
2154  #define Py_BUILD_CORE 1
2155  #endif
2156  #include "internal/pycore_frame.h"
2157 #endif
2158  #if CYTHON_PROFILE_REUSE_FRAME
2159  #define CYTHON_FRAME_MODIFIER static
2160  #define CYTHON_FRAME_DEL(frame)
2161  #else
2162  #define CYTHON_FRAME_MODIFIER
2163  #define CYTHON_FRAME_DEL(frame) Py_CLEAR(frame)
2164  #endif
2165  #define __Pyx_TraceDeclarations\
2166  static PyCodeObject *__pyx_frame_code = NULL;\
2167  CYTHON_FRAME_MODIFIER PyFrameObject *__pyx_frame = NULL;\
2168  int __Pyx_use_tracing = 0;
2169  #define __Pyx_TraceFrameInit(codeobj)\
2170  if (codeobj) __pyx_frame_code = (PyCodeObject*) codeobj;
2171 #if PY_VERSION_HEX >= 0x030b00a2
2172  #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\
2173  (unlikely((tstate)->cframe->use_tracing) &&\
2174  (!(check_tracing) || !(tstate)->tracing) &&\
2175  (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc)))
2176  #define __Pyx_EnterTracing(tstate) PyThreadState_EnterTracing(tstate)
2177  #define __Pyx_LeaveTracing(tstate) PyThreadState_LeaveTracing(tstate)
2178 #elif PY_VERSION_HEX >= 0x030a00b1
2179  #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\
2180  (unlikely((tstate)->cframe->use_tracing) &&\
2181  (!(check_tracing) || !(tstate)->tracing) &&\
2182  (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc)))
2183  #define __Pyx_EnterTracing(tstate)\
2184  do { tstate->tracing++; tstate->cframe->use_tracing = 0; } while (0)
2185  #define __Pyx_LeaveTracing(tstate)\
2186  do {\
2187  tstate->tracing--;\
2188  tstate->cframe->use_tracing = ((CYTHON_TRACE && tstate->c_tracefunc != NULL)\
2189  || tstate->c_profilefunc != NULL);\
2190  } while (0)
2191 #else
2192  #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\
2193  (unlikely((tstate)->use_tracing) &&\
2194  (!(check_tracing) || !(tstate)->tracing) &&\
2195  (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc)))
2196  #define __Pyx_EnterTracing(tstate)\
2197  do { tstate->tracing++; tstate->use_tracing = 0; } while (0)
2198  #define __Pyx_LeaveTracing(tstate)\
2199  do {\
2200  tstate->tracing--;\
2201  tstate->use_tracing = ((CYTHON_TRACE && tstate->c_tracefunc != NULL)\
2202  || tstate->c_profilefunc != NULL);\
2203  } while (0)
2204 #endif
2205  #ifdef WITH_THREAD
2206  #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error)\
2207  if (nogil) {\
2208  if (CYTHON_TRACE_NOGIL) {\
2209  PyThreadState *tstate;\
2210  PyGILState_STATE state = PyGILState_Ensure();\
2211  tstate = __Pyx_PyThreadState_Current;\
2212  if (__Pyx_IsTracing(tstate, 1, 1)) {\
2213  __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\
2214  }\
2215  PyGILState_Release(state);\
2216  if (unlikely(__Pyx_use_tracing < 0)) goto_error;\
2217  }\
2218  } else {\
2219  PyThreadState* tstate = PyThreadState_GET();\
2220  if (__Pyx_IsTracing(tstate, 1, 1)) {\
2221  __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\
2222  if (unlikely(__Pyx_use_tracing < 0)) goto_error;\
2223  }\
2224  }
2225  #else
2226  #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error)\
2227  { PyThreadState* tstate = PyThreadState_GET();\
2228  if (__Pyx_IsTracing(tstate, 1, 1)) {\
2229  __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\
2230  if (unlikely(__Pyx_use_tracing < 0)) goto_error;\
2231  }\
2232  }
2233  #endif
2234  #define __Pyx_TraceException()\
2235  if (likely(!__Pyx_use_tracing)); else {\
2236  PyThreadState* tstate = __Pyx_PyThreadState_Current;\
2237  if (__Pyx_IsTracing(tstate, 0, 1)) {\
2238  __Pyx_EnterTracing(tstate);\
2239  PyObject *exc_info = __Pyx_GetExceptionTuple(tstate);\
2240  if (exc_info) {\
2241  if (CYTHON_TRACE && tstate->c_tracefunc)\
2242  tstate->c_tracefunc(\
2243  tstate->c_traceobj, __pyx_frame, PyTrace_EXCEPTION, exc_info);\
2244  tstate->c_profilefunc(\
2245  tstate->c_profileobj, __pyx_frame, PyTrace_EXCEPTION, exc_info);\
2246  Py_DECREF(exc_info);\
2247  }\
2248  __Pyx_LeaveTracing(tstate);\
2249  }\
2250  }
2251  static void __Pyx_call_return_trace_func(PyThreadState *tstate, PyFrameObject *frame, PyObject *result) {
2252  PyObject *type, *value, *traceback;
2253  __Pyx_ErrFetchInState(tstate, &type, &value, &traceback);
2254  __Pyx_EnterTracing(tstate);
2255  if (CYTHON_TRACE && tstate->c_tracefunc)
2256  tstate->c_tracefunc(tstate->c_traceobj, frame, PyTrace_RETURN, result);
2257  if (tstate->c_profilefunc)
2258  tstate->c_profilefunc(tstate->c_profileobj, frame, PyTrace_RETURN, result);
2259  CYTHON_FRAME_DEL(frame);
2260  __Pyx_LeaveTracing(tstate);
2261  __Pyx_ErrRestoreInState(tstate, type, value, traceback);
2262  }
2263  #ifdef WITH_THREAD
2264  #define __Pyx_TraceReturn(result, nogil)\
2265  if (likely(!__Pyx_use_tracing)); else {\
2266  if (nogil) {\
2267  if (CYTHON_TRACE_NOGIL) {\
2268  PyThreadState *tstate;\
2269  PyGILState_STATE state = PyGILState_Ensure();\
2270  tstate = __Pyx_PyThreadState_Current;\
2271  if (__Pyx_IsTracing(tstate, 0, 0)) {\
2272  __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\
2273  }\
2274  PyGILState_Release(state);\
2275  }\
2276  } else {\
2277  PyThreadState* tstate = __Pyx_PyThreadState_Current;\
2278  if (__Pyx_IsTracing(tstate, 0, 0)) {\
2279  __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\
2280  }\
2281  }\
2282  }
2283  #else
2284  #define __Pyx_TraceReturn(result, nogil)\
2285  if (likely(!__Pyx_use_tracing)); else {\
2286  PyThreadState* tstate = __Pyx_PyThreadState_Current;\
2287  if (__Pyx_IsTracing(tstate, 0, 0)) {\
2288  __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\
2289  }\
2290  }
2291  #endif
2292  static PyCodeObject *__Pyx_createFrameCodeObject(const char *funcname, const char *srcfile, int firstlineno);
2293  static int __Pyx_TraceSetupAndCall(PyCodeObject** code, PyFrameObject** frame, PyThreadState* tstate, const char *funcname, const char *srcfile, int firstlineno);
2294 #else
2295  #define __Pyx_TraceDeclarations
2296  #define __Pyx_TraceFrameInit(codeobj)
2297  #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error) if ((1)); else goto_error;
2298  #define __Pyx_TraceException()
2299  #define __Pyx_TraceReturn(result, nogil)
2300 #endif
2301 #if CYTHON_TRACE
2302  static int __Pyx_call_line_trace_func(PyThreadState *tstate, PyFrameObject *frame, int lineno) {
2303  int ret;
2304  PyObject *type, *value, *traceback;
2305  __Pyx_ErrFetchInState(tstate, &type, &value, &traceback);
2306  __Pyx_PyFrame_SetLineNumber(frame, lineno);
2307  __Pyx_EnterTracing(tstate);
2308  ret = tstate->c_tracefunc(tstate->c_traceobj, frame, PyTrace_LINE, NULL);
2309  __Pyx_LeaveTracing(tstate);
2310  if (likely(!ret)) {
2311  __Pyx_ErrRestoreInState(tstate, type, value, traceback);
2312  } else {
2313  Py_XDECREF(type);
2314  Py_XDECREF(value);
2315  Py_XDECREF(traceback);
2316  }
2317  return ret;
2318  }
2319  #ifdef WITH_THREAD
2320  #define __Pyx_TraceLine(lineno, nogil, goto_error)\
2321  if (likely(!__Pyx_use_tracing)); else {\
2322  if (nogil) {\
2323  if (CYTHON_TRACE_NOGIL) {\
2324  int ret = 0;\
2325  PyThreadState *tstate;\
2326  PyGILState_STATE state = PyGILState_Ensure();\
2327  tstate = __Pyx_PyThreadState_Current;\
2328  if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\
2329  ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\
2330  }\
2331  PyGILState_Release(state);\
2332  if (unlikely(ret)) goto_error;\
2333  }\
2334  } else {\
2335  PyThreadState* tstate = __Pyx_PyThreadState_Current;\
2336  if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\
2337  int ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\
2338  if (unlikely(ret)) goto_error;\
2339  }\
2340  }\
2341  }
2342  #else
2343  #define __Pyx_TraceLine(lineno, nogil, goto_error)\
2344  if (likely(!__Pyx_use_tracing)); else {\
2345  PyThreadState* tstate = __Pyx_PyThreadState_Current;\
2346  if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\
2347  int ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\
2348  if (unlikely(ret)) goto_error;\
2349  }\
2350  }
2351  #endif
2352 #else
2353  #define __Pyx_TraceLine(lineno, nogil, goto_error) if ((1)); else goto_error;
2354 #endif
2355 
2356 /* PyObjectCall.proto */
2357 #if CYTHON_COMPILING_IN_CPYTHON
2358 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
2359 #else
2360 #define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
2361 #endif
2362 
2363 /* PyFunctionFastCall.proto */
2364 #if CYTHON_FAST_PYCALL
2365 #define __Pyx_PyFunction_FastCall(func, args, nargs)\
2366  __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
2367 #if 1 || PY_VERSION_HEX < 0x030600B1
2368 static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);
2369 #else
2370 #define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)
2371 #endif
2372 #define __Pyx_BUILD_ASSERT_EXPR(cond)\
2373  (sizeof(char [1 - 2*!(cond)]) - 1)
2374 #ifndef Py_MEMBER_SIZE
2375 #define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
2376 #endif
2377 #if CYTHON_FAST_PYCALL
2378  static size_t __pyx_pyframe_localsplus_offset = 0;
2379  #include "frameobject.h"
2380 #if PY_VERSION_HEX >= 0x030b00a6
2381  #ifndef Py_BUILD_CORE
2382  #define Py_BUILD_CORE 1
2383  #endif
2384  #include "internal/pycore_frame.h"
2385 #endif
2386  #define __Pxy_PyFrame_Initialize_Offsets()\
2387  ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
2388  (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
2389  #define __Pyx_PyFrame_GetLocalsplus(frame)\
2390  (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
2391 #endif // CYTHON_FAST_PYCALL
2392 #endif
2393 
2394 /* PyObjectCallMethO.proto */
2395 #if CYTHON_COMPILING_IN_CPYTHON
2396 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
2397 #endif
2398 
2399 /* PyObjectCallNoArg.proto */
2400 #if CYTHON_COMPILING_IN_CPYTHON
2401 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
2402 #else
2403 #define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
2404 #endif
2405 
2406 /* PyCFunctionFastCall.proto */
2407 #if CYTHON_FAST_PYCCALL
2408 static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);
2409 #else
2410 #define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL)
2411 #endif
2412 
2413 /* PyObjectCallOneArg.proto */
2414 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
2415 
2416 /* PyObjectCall2Args.proto */
2417 static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);
2418 
2419 /* PyIntCompare.proto */
2420 static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, long intval, long inplace);
2421 
2422 /* GetItemInt.proto */
2423 #define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
2424  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
2425  __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
2426  (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
2427  __Pyx_GetItemInt_Generic(o, to_py_func(i))))
2428 #define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
2429  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
2430  __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
2431  (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
2432 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
2433  int wraparound, int boundscheck);
2434 #define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
2435  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
2436  __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
2437  (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
2438 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
2439  int wraparound, int boundscheck);
2440 static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
2441 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
2442  int is_list, int wraparound, int boundscheck);
2443 
2444 /* PyDictVersioning.proto */
2445 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
2446 #define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1)
2447 #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag)
2448 #define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
2449  (version_var) = __PYX_GET_DICT_VERSION(dict);\
2450  (cache_var) = (value);
2451 #define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
2452  static PY_UINT64_T __pyx_dict_version = 0;\
2453  static PyObject *__pyx_dict_cached_value = NULL;\
2454  if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
2455  (VAR) = __pyx_dict_cached_value;\
2456  } else {\
2457  (VAR) = __pyx_dict_cached_value = (LOOKUP);\
2458  __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
2459  }\
2460 }
2461 static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
2462 static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
2463 static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
2464 #else
2465 #define __PYX_GET_DICT_VERSION(dict) (0)
2466 #define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
2467 #define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP);
2468 #endif
2469 
2470 /* GetModuleGlobalName.proto */
2471 #if CYTHON_USE_DICT_VERSIONS
2472 #define __Pyx_GetModuleGlobalName(var, name) {\
2473  static PY_UINT64_T __pyx_dict_version = 0;\
2474  static PyObject *__pyx_dict_cached_value = NULL;\
2475  (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
2476  (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
2477  __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
2478 }
2479 #define __Pyx_GetModuleGlobalNameUncached(var, name) {\
2480  PY_UINT64_T __pyx_dict_version;\
2481  PyObject *__pyx_dict_cached_value;\
2482  (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
2483 }
2484 static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
2485 #else
2486 #define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name)
2487 #define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name)
2488 static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
2489 #endif
2490 
2491 /* PyFloatBinop.proto */
2492 #if !CYTHON_COMPILING_IN_PYPY
2493 static PyObject* __Pyx_PyFloat_EqObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check);
2494 #else
2495 #define __Pyx_PyFloat_EqObjC(op1, op2, floatval, inplace, zerodivision_check)\
2496  (PyObject_RichCompare(op1, op2, Py_EQ))
2497  #endif
2498 
2499 /* None.proto */
2500 static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname);
2501 
2502 /* ObjectGetItem.proto */
2503 #if CYTHON_USE_TYPE_SLOTS
2504 static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key);
2505 #else
2506 #define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key)
2507 #endif
2508 
2509 /* FetchCommonType.proto */
2510 static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
2511 
2512 /* CythonFunctionShared.proto */
2513 #define __Pyx_CyFunction_USED 1
2514 #define __Pyx_CYFUNCTION_STATICMETHOD 0x01
2515 #define __Pyx_CYFUNCTION_CLASSMETHOD 0x02
2516 #define __Pyx_CYFUNCTION_CCLASS 0x04
2517 #define __Pyx_CyFunction_GetClosure(f)\
2518  (((__pyx_CyFunctionObject *) (f))->func_closure)
2519 #define __Pyx_CyFunction_GetClassObj(f)\
2520  (((__pyx_CyFunctionObject *) (f))->func_classobj)
2521 #define __Pyx_CyFunction_Defaults(type, f)\
2522  ((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
2523 #define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
2524  ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
2525 typedef struct {
2526  PyCFunctionObject func;
2527 #if PY_VERSION_HEX < 0x030500A0
2528  PyObject *func_weakreflist;
2529 #endif
2530  PyObject *func_dict;
2531  PyObject *func_name;
2532  PyObject *func_qualname;
2533  PyObject *func_doc;
2534  PyObject *func_globals;
2535  PyObject *func_code;
2536  PyObject *func_closure;
2537  PyObject *func_classobj;
2538  void *defaults;
2539  int defaults_pyobjects;
2540  size_t defaults_size; // used by FusedFunction for copying defaults
2541  int flags;
2542  PyObject *defaults_tuple;
2543  PyObject *defaults_kwdict;
2544  PyObject *(*defaults_getter)(PyObject *);
2545  PyObject *func_annotations;
2546 } __pyx_CyFunctionObject;
2547 static PyTypeObject *__pyx_CyFunctionType = 0;
2548 #define __Pyx_CyFunction_Check(obj) (__Pyx_TypeCheck(obj, __pyx_CyFunctionType))
2549 static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
2550  int flags, PyObject* qualname,
2551  PyObject *self,
2552  PyObject *module, PyObject *globals,
2553  PyObject* code);
2554 static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m,
2555  size_t size,
2556  int pyobjects);
2557 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
2558  PyObject *tuple);
2559 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m,
2560  PyObject *dict);
2561 static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m,
2562  PyObject *dict);
2563 static int __pyx_CyFunction_init(void);
2564 
2565 /* CythonFunction.proto */
2566 static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml,
2567  int flags, PyObject* qualname,
2568  PyObject *closure,
2569  PyObject *module, PyObject *globals,
2570  PyObject* code);
2571 
2572 /* MemviewSliceInit.proto */
2573 #define __Pyx_BUF_MAX_NDIMS %(BUF_MAX_NDIMS)d
2574 #define __Pyx_MEMVIEW_DIRECT 1
2575 #define __Pyx_MEMVIEW_PTR 2
2576 #define __Pyx_MEMVIEW_FULL 4
2577 #define __Pyx_MEMVIEW_CONTIG 8
2578 #define __Pyx_MEMVIEW_STRIDED 16
2579 #define __Pyx_MEMVIEW_FOLLOW 32
2580 #define __Pyx_IS_C_CONTIG 1
2581 #define __Pyx_IS_F_CONTIG 2
2582 static int __Pyx_init_memviewslice(
2583  struct __pyx_memoryview_obj *memview,
2584  int ndim,
2585  __Pyx_memviewslice *memviewslice,
2586  int memview_is_new_reference);
2587 static CYTHON_INLINE int __pyx_add_acquisition_count_locked(
2588  __pyx_atomic_int *acquisition_count, PyThread_type_lock lock);
2589 static CYTHON_INLINE int __pyx_sub_acquisition_count_locked(
2590  __pyx_atomic_int *acquisition_count, PyThread_type_lock lock);
2591 #define __pyx_get_slice_count_pointer(memview) (memview->acquisition_count_aligned_p)
2592 #define __pyx_get_slice_count(memview) (*__pyx_get_slice_count_pointer(memview))
2593 #define __PYX_INC_MEMVIEW(slice, have_gil) __Pyx_INC_MEMVIEW(slice, have_gil, __LINE__)
2594 #define __PYX_XDEC_MEMVIEW(slice, have_gil) __Pyx_XDEC_MEMVIEW(slice, have_gil, __LINE__)
2595 static CYTHON_INLINE void __Pyx_INC_MEMVIEW(__Pyx_memviewslice *, int, int);
2596 static CYTHON_INLINE void __Pyx_XDEC_MEMVIEW(__Pyx_memviewslice *, int, int);
2597 
2598 /* ExtTypeTest.proto */
2599 static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);
2600 
2601 /* IncludeStringH.proto */
2602 #include <string.h>
2603 
2604 /* SetItemInt.proto */
2605 #define __Pyx_SetItemInt(o, i, v, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
2606  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
2607  __Pyx_SetItemInt_Fast(o, (Py_ssize_t)i, v, is_list, wraparound, boundscheck) :\
2608  (is_list ? (PyErr_SetString(PyExc_IndexError, "list assignment index out of range"), -1) :\
2609  __Pyx_SetItemInt_Generic(o, to_py_func(i), v)))
2610 static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v);
2611 static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v,
2612  int is_list, int wraparound, int boundscheck);
2613 
2614 /* WriteUnraisableException.proto */
2615 static void __Pyx_WriteUnraisable(const char *name, int clineno,
2616  int lineno, const char *filename,
2617  int full_traceback, int nogil);
2618 
2619 /* PyFloatBinop.proto */
2620 #if !CYTHON_COMPILING_IN_PYPY
2621 static PyObject* __Pyx_PyFloat_TrueDivideObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check);
2622 #else
2623 #define __Pyx_PyFloat_TrueDivideObjC(op1, op2, floatval, inplace, zerodivision_check)\
2624  (inplace ? PyNumber_InPlaceTrueDivide(op1, op2) : PyNumber_TrueDivide(op1, op2))
2625 #endif
2626 
2627 /* PyIntBinop.proto */
2628 #if !CYTHON_COMPILING_IN_PYPY
2629 static PyObject* __Pyx_PyInt_SubtractCObj(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
2630 #else
2631 #define __Pyx_PyInt_SubtractCObj(op1, op2, intval, inplace, zerodivision_check)\
2632  (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2))
2633 #endif
2634 
2635 /* None.proto */
2636 static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname);
2637 
2638 /* PyErrExceptionMatches.proto */
2639 #if CYTHON_FAST_THREAD_STATE
2640 #define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
2641 static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
2642 #else
2643 #define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err)
2644 #endif
2645 
2646 /* GetAttr.proto */
2647 static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);
2648 
2649 /* GetAttr3.proto */
2650 static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *);
2651 
2652 /* PyIntBinop.proto */
2653 #if !CYTHON_COMPILING_IN_PYPY
2654 static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
2655 #else
2656 #define __Pyx_PyInt_SubtractObjC(op1, op2, intval, inplace, zerodivision_check)\
2657  (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2))
2658 #endif
2659 
2660 /* BytesEquals.proto */
2661 static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals);
2662 
2663 /* UnicodeEquals.proto */
2664 static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);
2665 
2666 /* StrEquals.proto */
2667 #if PY_MAJOR_VERSION >= 3
2668 #define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals
2669 #else
2670 #define __Pyx_PyString_Equals __Pyx_PyBytes_Equals
2671 #endif
2672 
2673 /* RaiseException.proto */
2674 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
2675 
2676 /* py_dict_items.proto */
2677 static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d);
2678 
2679 /* UnpackUnboundCMethod.proto */
2680 typedef struct {
2681  PyObject *type;
2682  PyObject **method_name;
2683  PyCFunction func;
2684  PyObject *method;
2685  int flag;
2686 } __Pyx_CachedCFunction;
2687 
2688 /* CallUnboundCMethod0.proto */
2689 static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self);
2690 #if CYTHON_COMPILING_IN_CPYTHON
2691 #define __Pyx_CallUnboundCMethod0(cfunc, self)\
2692  (likely((cfunc)->func) ?\
2693  (likely((cfunc)->flag == METH_NOARGS) ? (*((cfunc)->func))(self, NULL) :\
2694  (PY_VERSION_HEX >= 0x030600B1 && likely((cfunc)->flag == METH_FASTCALL) ?\
2695  (PY_VERSION_HEX >= 0x030700A0 ?\
2696  (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0) :\
2697  (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL)) :\
2698  (PY_VERSION_HEX >= 0x030700A0 && (cfunc)->flag == (METH_FASTCALL | METH_KEYWORDS) ?\
2699  (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL) :\
2700  (likely((cfunc)->flag == (METH_VARARGS | METH_KEYWORDS)) ? ((*(PyCFunctionWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, __pyx_empty_tuple, NULL)) :\
2701  ((cfunc)->flag == METH_VARARGS ? (*((cfunc)->func))(self, __pyx_empty_tuple) :\
2702  __Pyx__CallUnboundCMethod0(cfunc, self)))))) :\
2703  __Pyx__CallUnboundCMethod0(cfunc, self))
2704 #else
2705 #define __Pyx_CallUnboundCMethod0(cfunc, self) __Pyx__CallUnboundCMethod0(cfunc, self)
2706 #endif
2707 
2708 /* RaiseTooManyValuesToUnpack.proto */
2709 static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
2710 
2711 /* RaiseNeedMoreValuesToUnpack.proto */
2712 static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
2713 
2714 /* IterFinish.proto */
2715 static CYTHON_INLINE int __Pyx_IterFinish(void);
2716 
2717 /* UnpackItemEndCheck.proto */
2718 static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected);
2719 
2720 /* DictGetItem.proto */
2721 #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
2722 static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key);
2723 #define __Pyx_PyObject_Dict_GetItem(obj, name)\
2724  (likely(PyDict_CheckExact(obj)) ?\
2725  __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name))
2726 #else
2727 #define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
2728 #define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name)
2729 #endif
2730 
2731 /* PyObjectSetAttrStr.proto */
2732 #if CYTHON_USE_TYPE_SLOTS
2733 #define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL)
2734 static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value);
2735 #else
2736 #define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n)
2737 #define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
2738 #endif
2739 
2740 /* PyIntBinop.proto */
2741 #if !CYTHON_COMPILING_IN_PYPY
2742 static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
2743 #else
2744 #define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\
2745  (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2))
2746 #endif
2747 
2748 /* ListAppend.proto */
2749 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
2750 static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
2751  PyListObject* L = (PyListObject*) list;
2752  Py_ssize_t len = Py_SIZE(list);
2753  if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
2754  Py_INCREF(x);
2755  PyList_SET_ITEM(list, len, x);
2756  __Pyx_SET_SIZE(list, len + 1);
2757  return 0;
2758  }
2759  return PyList_Append(list, x);
2760 }
2761 #else
2762 #define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
2763 #endif
2764 
2765 /* set_iter.proto */
2766 static CYTHON_INLINE PyObject* __Pyx_set_iterator(PyObject* iterable, int is_set,
2767  Py_ssize_t* p_orig_length, int* p_source_is_set);
2768 static CYTHON_INLINE int __Pyx_set_iter_next(
2769  PyObject* iter_obj, Py_ssize_t orig_length,
2770  Py_ssize_t* ppos, PyObject **value,
2771  int source_is_set);
2772 
2773 /* PySequenceContains.proto */
2774 static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) {
2775  int result = PySequence_Contains(seq, item);
2776  return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
2777 }
2778 
2779 /* SliceObject.proto */
2780 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(
2781  PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop,
2782  PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
2783  int has_cstart, int has_cstop, int wraparound);
2784 
2785 /* py_abs.proto */
2786 #if CYTHON_USE_PYLONG_INTERNALS
2787 static PyObject *__Pyx_PyLong_AbsNeg(PyObject *num);
2788 #define __Pyx_PyNumber_Absolute(x)\
2789  ((likely(PyLong_CheckExact(x))) ?\
2790  (likely(Py_SIZE(x) >= 0) ? (Py_INCREF(x), (x)) : __Pyx_PyLong_AbsNeg(x)) :\
2791  PyNumber_Absolute(x))
2792 #else
2793 #define __Pyx_PyNumber_Absolute(x) PyNumber_Absolute(x)
2794 #endif
2795 
2796 /* Import.proto */
2797 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);
2798 
2799 /* ImportFrom.proto */
2800 static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);
2801 
2802 /* HasAttr.proto */
2803 static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *);
2804 
2805 /* GetTopmostException.proto */
2806 #if CYTHON_USE_EXC_INFO_STACK
2807 static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
2808 #endif
2809 
2810 /* SaveResetException.proto */
2811 #if CYTHON_FAST_THREAD_STATE
2812 #define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
2813 static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
2814 #define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
2815 static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
2816 #else
2817 #define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb)
2818 #define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb)
2819 #endif
2820 
2821 /* GetException.proto */
2822 #if CYTHON_FAST_THREAD_STATE
2823 #define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb)
2824 static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
2825 #else
2826 static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
2827 #endif
2828 
2829 /* ArgTypeTest.proto */
2830 #define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
2831  ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\
2832  __Pyx__ArgTypeTest(obj, type, name, exact))
2833 static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);
2834 
2835 /* DivInt[Py_ssize_t].proto */
2836 static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t, Py_ssize_t);
2837 
2838 /* UnaryNegOverflows.proto */
2839 #define UNARY_NEG_WOULD_OVERFLOW(x)\
2840  (((x) < 0) & ((unsigned long)(x) == 0-(unsigned long)(x)))
2841 
2842 static CYTHON_UNUSED int __pyx_array_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
2843 static PyObject *__pyx_array_get_memview(struct __pyx_array_obj *); /*proto*/
2844 /* decode_c_string_utf16.proto */
2845 static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16(const char *s, Py_ssize_t size, const char *errors) {
2846  int byteorder = 0;
2847  return PyUnicode_DecodeUTF16(s, size, errors, &byteorder);
2848 }
2849 static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16LE(const char *s, Py_ssize_t size, const char *errors) {
2850  int byteorder = -1;
2851  return PyUnicode_DecodeUTF16(s, size, errors, &byteorder);
2852 }
2853 static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16BE(const char *s, Py_ssize_t size, const char *errors) {
2854  int byteorder = 1;
2855  return PyUnicode_DecodeUTF16(s, size, errors, &byteorder);
2856 }
2857 
2858 /* decode_c_string.proto */
2859 static CYTHON_INLINE PyObject* __Pyx_decode_c_string(
2860  const char* cstring, Py_ssize_t start, Py_ssize_t stop,
2861  const char* encoding, const char* errors,
2862  PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors));
2863 
2864 /* RaiseNoneIterError.proto */
2865 static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);
2866 
2867 /* SwapException.proto */
2868 #if CYTHON_FAST_THREAD_STATE
2869 #define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb)
2870 static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
2871 #else
2872 static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
2873 #endif
2874 
2875 /* FastTypeChecks.proto */
2876 #if CYTHON_COMPILING_IN_CPYTHON
2877 #define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
2878 static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
2879 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
2880 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
2881 #else
2882 #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
2883 #define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
2884 #define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
2885 #endif
2886 #define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
2887 
2888 static CYTHON_UNUSED int __pyx_memoryview_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
2889 /* ListCompAppend.proto */
2890 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
2891 static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
2892  PyListObject* L = (PyListObject*) list;
2893  Py_ssize_t len = Py_SIZE(list);
2894  if (likely(L->allocated > len)) {
2895  Py_INCREF(x);
2896  PyList_SET_ITEM(list, len, x);
2897  __Pyx_SET_SIZE(list, len + 1);
2898  return 0;
2899  }
2900  return PyList_Append(list, x);
2901 }
2902 #else
2903 #define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
2904 #endif
2905 
2906 /* ListExtend.proto */
2907 static CYTHON_INLINE int __Pyx_PyList_Extend(PyObject* L, PyObject* v) {
2908 #if CYTHON_COMPILING_IN_CPYTHON
2909  PyObject* none = _PyList_Extend((PyListObject*)L, v);
2910  if (unlikely(!none))
2911  return -1;
2912  Py_DECREF(none);
2913  return 0;
2914 #else
2915  return PyList_SetSlice(L, PY_SSIZE_T_MAX, PY_SSIZE_T_MAX, v);
2916 #endif
2917 }
2918 
2919 /* DivInt[long].proto */
2920 static CYTHON_INLINE long __Pyx_div_long(long, long);
2921 
2922 /* StringJoin.proto */
2923 #if PY_MAJOR_VERSION < 3
2924 #define __Pyx_PyString_Join __Pyx_PyBytes_Join
2925 #define __Pyx_PyBaseString_Join(s, v) (PyUnicode_CheckExact(s) ? PyUnicode_Join(s, v) : __Pyx_PyBytes_Join(s, v))
2926 #else
2927 #define __Pyx_PyString_Join PyUnicode_Join
2928 #define __Pyx_PyBaseString_Join PyUnicode_Join
2929 #endif
2930 #if CYTHON_COMPILING_IN_CPYTHON
2931  #if PY_MAJOR_VERSION < 3
2932  #define __Pyx_PyBytes_Join _PyString_Join
2933  #else
2934  #define __Pyx_PyBytes_Join _PyBytes_Join
2935  #endif
2936 #else
2937 static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values);
2938 #endif
2939 
2940 /* PyObject_Unicode.proto */
2941 #if PY_MAJOR_VERSION >= 3
2942 #define __Pyx_PyObject_Unicode(obj)\
2943  (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Str(obj))
2944 #else
2945 #define __Pyx_PyObject_Unicode(obj)\
2946  (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Unicode(obj))
2947 #endif
2948 
2949 /* CallNextTpDealloc.proto */
2950 static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc);
2951 
2952 /* CallNextTpTraverse.proto */
2953 static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse);
2954 
2955 /* CallNextTpClear.proto */
2956 static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc);
2957 
2958 /* PyObject_GenericGetAttrNoDict.proto */
2959 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
2960 static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);
2961 #else
2962 #define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr
2963 #endif
2964 
2965 /* PyObject_GenericGetAttr.proto */
2966 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
2967 static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name);
2968 #else
2969 #define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr
2970 #endif
2971 
2972 /* TypeImport.proto */
2973 #ifndef __PYX_HAVE_RT_ImportType_proto
2974 #define __PYX_HAVE_RT_ImportType_proto
2975 enum __Pyx_ImportType_CheckSize {
2976  __Pyx_ImportType_CheckSize_Error = 0,
2977  __Pyx_ImportType_CheckSize_Warn = 1,
2978  __Pyx_ImportType_CheckSize_Ignore = 2
2979 };
2980 static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size);
2981 #endif
2982 
2983 /* SetVTable.proto */
2984 static int __Pyx_SetVtable(PyObject *dict, void *vtable);
2985 
2986 /* PyObjectGetAttrStrNoError.proto */
2987 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name);
2988 
2989 /* SetupReduce.proto */
2990 static int __Pyx_setup_reduce(PyObject* type_obj);
2991 
2992 /* GetVTable.proto */
2993 static void* __Pyx_GetVtable(PyObject *dict);
2994 
2995 /* CalculateMetaclass.proto */
2996 static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);
2997 
2998 /* SetNameInClass.proto */
2999 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
3000 #define __Pyx_SetNameInClass(ns, name, value)\
3001  (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value))
3002 #elif CYTHON_COMPILING_IN_CPYTHON
3003 #define __Pyx_SetNameInClass(ns, name, value)\
3004  (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value))
3005 #else
3006 #define __Pyx_SetNameInClass(ns, name, value) PyObject_SetItem(ns, name, value)
3007 #endif
3008 
3009 /* Py3ClassCreate.proto */
3010 static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname,
3011  PyObject *mkw, PyObject *modname, PyObject *doc);
3012 static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict,
3013  PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass);
3014 
3015 /* CLineInTraceback.proto */
3016 #ifdef CYTHON_CLINE_IN_TRACEBACK
3017 #define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
3018 #else
3019 static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
3020 #endif
3021 
3022 /* CodeObjectCache.proto */
3023 typedef struct {
3024  PyCodeObject* code_object;
3025  int code_line;
3026 } __Pyx_CodeObjectCacheEntry;
3027 struct __Pyx_CodeObjectCache {
3028  int count;
3029  int max_count;
3030  __Pyx_CodeObjectCacheEntry* entries;
3031 };
3032 static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
3033 static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
3034 static PyCodeObject *__pyx_find_code_object(int code_line);
3035 static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
3036 
3037 /* AddTraceback.proto */
3038 static void __Pyx_AddTraceback(const char *funcname, int c_line,
3039  int py_line, const char *filename);
3040 
3041 #if PY_MAJOR_VERSION < 3
3042  static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags);
3043  static void __Pyx_ReleaseBuffer(Py_buffer *view);
3044 #else
3045  #define __Pyx_GetBuffer PyObject_GetBuffer
3046  #define __Pyx_ReleaseBuffer PyBuffer_Release
3047 #endif
3048 
3049 
3050 /* BufferStructDeclare.proto */
3051 typedef struct {
3052  Py_ssize_t shape, strides, suboffsets;
3053 } __Pyx_Buf_DimInfo;
3054 typedef struct {
3055  size_t refcount;
3056  Py_buffer pybuffer;
3057 } __Pyx_Buffer;
3058 typedef struct {
3059  __Pyx_Buffer *rcbuffer;
3060  char *data;
3061  __Pyx_Buf_DimInfo diminfo[8];
3062 } __Pyx_LocalBuf_ND;
3063 
3064 /* MemviewSliceIsContig.proto */
3065 static int __pyx_memviewslice_is_contig(const __Pyx_memviewslice mvs, char order, int ndim);
3066 
3067 /* OverlappingSlices.proto */
3068 static int __pyx_slices_overlap(__Pyx_memviewslice *slice1,
3069  __Pyx_memviewslice *slice2,
3070  int ndim, size_t itemsize);
3071 
3072 /* Capsule.proto */
3073 static CYTHON_INLINE PyObject *__pyx_capsule_create(void *p, const char *sig);
3074 
3075 /* MemviewDtypeToObject.proto */
3076 static CYTHON_INLINE PyObject *__pyx_memview_get_double(const char *itemp);
3077 static CYTHON_INLINE int __pyx_memview_set_double(const char *itemp, PyObject *obj);
3078 
3079 /* IsLittleEndian.proto */
3080 static CYTHON_INLINE int __Pyx_Is_Little_Endian(void);
3081 
3082 /* BufferFormatCheck.proto */
3083 static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts);
3084 static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,
3085  __Pyx_BufFmt_StackElem* stack,
3086  __Pyx_TypeInfo* type);
3087 
3088 /* TypeInfoCompare.proto */
3089 static int __pyx_typeinfo_cmp(__Pyx_TypeInfo *a, __Pyx_TypeInfo *b);
3090 
3091 /* MemviewSliceValidateAndInit.proto */
3092 static int __Pyx_ValidateAndInit_memviewslice(
3093  int *axes_specs,
3094  int c_or_f_flag,
3095  int buf_flags,
3096  int ndim,
3097  __Pyx_TypeInfo *dtype,
3098  __Pyx_BufFmt_StackElem stack[],
3099  __Pyx_memviewslice *memviewslice,
3100  PyObject *original_obj);
3101 
3102 /* ObjectToMemviewSlice.proto */
3103 static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_ds_double(PyObject *, int writable_flag);
3104 
3105 /* ObjectToMemviewSlice.proto */
3106 static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_dsds_double(PyObject *, int writable_flag);
3107 
3108 /* GCCDiagnostics.proto */
3109 #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
3110 #define __Pyx_HAS_GCC_DIAGNOSTIC
3111 #endif
3112 
3113 /* ObjectToMemviewSlice.proto */
3114 static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_dsdsds_double(PyObject *, int writable_flag);
3115 
3116 /* ObjectToMemviewSlice.proto */
3117 static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_ds_int(PyObject *, int writable_flag);
3118 
3119 /* RealImag.proto */
3120 #if CYTHON_CCOMPLEX
3121  #ifdef __cplusplus
3122  #define __Pyx_CREAL(z) ((z).real())
3123  #define __Pyx_CIMAG(z) ((z).imag())
3124  #else
3125  #define __Pyx_CREAL(z) (__real__(z))
3126  #define __Pyx_CIMAG(z) (__imag__(z))
3127  #endif
3128 #else
3129  #define __Pyx_CREAL(z) ((z).real)
3130  #define __Pyx_CIMAG(z) ((z).imag)
3131 #endif
3132 #if defined(__cplusplus) && CYTHON_CCOMPLEX\
3133  && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103)
3134  #define __Pyx_SET_CREAL(z,x) ((z).real(x))
3135  #define __Pyx_SET_CIMAG(z,y) ((z).imag(y))
3136 #else
3137  #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x)
3138  #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y)
3139 #endif
3140 
3141 /* Arithmetic.proto */
3142 #if CYTHON_CCOMPLEX
3143  #define __Pyx_c_eq_float(a, b) ((a)==(b))
3144  #define __Pyx_c_sum_float(a, b) ((a)+(b))
3145  #define __Pyx_c_diff_float(a, b) ((a)-(b))
3146  #define __Pyx_c_prod_float(a, b) ((a)*(b))
3147  #define __Pyx_c_quot_float(a, b) ((a)/(b))
3148  #define __Pyx_c_neg_float(a) (-(a))
3149  #ifdef __cplusplus
3150  #define __Pyx_c_is_zero_float(z) ((z)==(float)0)
3151  #define __Pyx_c_conj_float(z) (::std::conj(z))
3152  #if 1
3153  #define __Pyx_c_abs_float(z) (::std::abs(z))
3154  #define __Pyx_c_pow_float(a, b) (::std::pow(a, b))
3155  #endif
3156  #else
3157  #define __Pyx_c_is_zero_float(z) ((z)==0)
3158  #define __Pyx_c_conj_float(z) (conjf(z))
3159  #if 1
3160  #define __Pyx_c_abs_float(z) (cabsf(z))
3161  #define __Pyx_c_pow_float(a, b) (cpowf(a, b))
3162  #endif
3163  #endif
3164 #else
3165  static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex);
3166  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex);
3167  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex);
3168  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex);
3169  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex);
3170  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex);
3171  static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex);
3172  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex);
3173  #if 1
3174  static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex);
3175  static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex);
3176  #endif
3177 #endif
3178 
3179 /* Arithmetic.proto */
3180 #if CYTHON_CCOMPLEX
3181  #define __Pyx_c_eq_double(a, b) ((a)==(b))
3182  #define __Pyx_c_sum_double(a, b) ((a)+(b))
3183  #define __Pyx_c_diff_double(a, b) ((a)-(b))
3184  #define __Pyx_c_prod_double(a, b) ((a)*(b))
3185  #define __Pyx_c_quot_double(a, b) ((a)/(b))
3186  #define __Pyx_c_neg_double(a) (-(a))
3187  #ifdef __cplusplus
3188  #define __Pyx_c_is_zero_double(z) ((z)==(double)0)
3189  #define __Pyx_c_conj_double(z) (::std::conj(z))
3190  #if 1
3191  #define __Pyx_c_abs_double(z) (::std::abs(z))
3192  #define __Pyx_c_pow_double(a, b) (::std::pow(a, b))
3193  #endif
3194  #else
3195  #define __Pyx_c_is_zero_double(z) ((z)==0)
3196  #define __Pyx_c_conj_double(z) (conj(z))
3197  #if 1
3198  #define __Pyx_c_abs_double(z) (cabs(z))
3199  #define __Pyx_c_pow_double(a, b) (cpow(a, b))
3200  #endif
3201  #endif
3202 #else
3203  static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex);
3204  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex);
3205  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex);
3206  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex);
3207  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex);
3208  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex);
3209  static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex);
3210  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex);
3211  #if 1
3212  static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex);
3213  static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex);
3214  #endif
3215 #endif
3216 
3217 /* MemviewSliceCopyTemplate.proto */
3218 static __Pyx_memviewslice
3219 __pyx_memoryview_copy_new_contig(const __Pyx_memviewslice *from_mvs,
3220  const char *mode, int ndim,
3221  size_t sizeof_dtype, int contig_flag,
3222  int dtype_is_object);
3223 
3224 /* CIntToPy.proto */
3225 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
3226 
3227 /* CIntFromPy.proto */
3228 static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
3229 
3230 /* CIntFromPy.proto */
3231 static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
3232 
3233 /* CIntToPy.proto */
3234 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
3235 
3236 /* TypeInfoToFormat.proto */
3237 struct __pyx_typeinfo_string {
3238  char string[3];
3239 };
3240 static struct __pyx_typeinfo_string __Pyx_TypeInfoToFormat(__Pyx_TypeInfo *type);
3241 
3242 /* CIntFromPy.proto */
3243 static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *);
3244 
3245 /* CIntFromPy.proto */
3246 static CYTHON_INLINE char __Pyx_PyInt_As_char(PyObject *);
3247 
3248 /* CheckBinaryVersion.proto */
3249 static int __Pyx_check_binary_version(void);
3250 
3251 /* FunctionExport.proto */
3252 static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig);
3253 
3254 /* InitStrings.proto */
3255 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
3256 
3257 __Pyx_memviewslice __pyx_f_6mprans_18BoundaryConditions_7BC_RANS___cpp_MoveMesh_h(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, __Pyx_memviewslice __pyx_v_x, CYTHON_UNUSED double __pyx_v_t, int __pyx_skip_dispatch); /* proto*/
3258 double __pyx_f_6mprans_18BoundaryConditions_7BC_RANS___cpp_MoveMesh_hx(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, __Pyx_memviewslice __pyx_v_x, double __pyx_v_t, int __pyx_skip_dispatch); /* proto*/
3259 double __pyx_f_6mprans_18BoundaryConditions_7BC_RANS___cpp_MoveMesh_hy(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, __Pyx_memviewslice __pyx_v_x, double __pyx_v_t, int __pyx_skip_dispatch); /* proto*/
3260 double __pyx_f_6mprans_18BoundaryConditions_7BC_RANS___cpp_MoveMesh_hz(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, __Pyx_memviewslice __pyx_v_x, double __pyx_v_t, int __pyx_skip_dispatch); /* proto*/
3261 double __pyx_f_6mprans_18BoundaryConditions_7BC_RANS___cpp_UnsteadyTwoPhaseVelocityInlet_u_dirichlet(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, __Pyx_memviewslice __pyx_v_x, double __pyx_v_t); /* proto*/
3262 double __pyx_f_6mprans_18BoundaryConditions_7BC_RANS___cpp_UnsteadyTwoPhaseVelocityInlet_v_dirichlet(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, __Pyx_memviewslice __pyx_v_x, double __pyx_v_t); /* proto*/
3263 double __pyx_f_6mprans_18BoundaryConditions_7BC_RANS___cpp_UnsteadyTwoPhaseVelocityInlet_w_dirichlet(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, __Pyx_memviewslice __pyx_v_x, double __pyx_v_t); /* proto*/
3264 double __pyx_f_6mprans_18BoundaryConditions_7BC_RANS___cpp_UnsteadyTwoPhaseVelocityInlet_p_advective(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, __Pyx_memviewslice __pyx_v_x, double __pyx_v_t); /* proto*/
3265 double __pyx_f_6mprans_18BoundaryConditions_7BC_RANS___cpp_UnsteadyTwoPhaseVelocityInlet_phi_dirichlet(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, __Pyx_memviewslice __pyx_v_x, double __pyx_v_t); /* proto*/
3266 double __pyx_f_6mprans_18BoundaryConditions_7BC_RANS___cpp_UnsteadyTwoPhaseVelocityInlet_vof_dirichlet(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, __Pyx_memviewslice __pyx_v_x, double __pyx_v_t); /* proto*/
3267 static void __pyx_f_6mprans_18BoundaryConditions_14RelaxationZone_calculate_init(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
3268 static double __pyx_f_6mprans_18BoundaryConditions_14RelaxationZone_calculate_phi(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, double *__pyx_v_x); /* proto*/
3269 static double __pyx_f_6mprans_18BoundaryConditions_14RelaxationZone___cpp_calculate_phi_porous_sponge(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, double *__pyx_v_x); /* proto*/
3270 static double __pyx_f_6mprans_18BoundaryConditions_14RelaxationZone___cpp_calculate_phi_porous(CYTHON_UNUSED struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, CYTHON_UNUSED double *__pyx_v_x); /* proto*/
3271 static __Pyx_memviewslice __pyx_f_6mprans_18BoundaryConditions_14RelaxationZone_calculate_vel(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, double *__pyx_v_x, double __pyx_v_t); /* proto*/
3272 static __Pyx_memviewslice __pyx_f_6mprans_18BoundaryConditions_14RelaxationZone___cpp_calculate_vel_zero(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, CYTHON_UNUSED double *__pyx_v_x, CYTHON_UNUSED double __pyx_v_t); /* proto*/
3273 static __Pyx_memviewslice __pyx_f_6mprans_18BoundaryConditions_14RelaxationZone___cpp_calculate_vel_wave(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, double *__pyx_v_x, double __pyx_v_t); /* proto*/
3274 static void __pyx_f_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator_calculate_init(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
3275 static void __pyx_f_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator_calculate(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
3276 static void __pyx_f_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator___cpp_iterate(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self); /* proto*/
3277 static __Pyx_memviewslice __pyx_f_6mprans_18BoundaryConditions_31__cppClass_WavesCharacteristics___cpp_calculate_velocity(struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *__pyx_v_self, double *__pyx_v_x, double __pyx_v_t); /* proto*/
3278 static double __pyx_f_6mprans_18BoundaryConditions_31__cppClass_WavesCharacteristics___cpp_calculate_pressure(struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *__pyx_v_self, double *__pyx_v_x, double __pyx_v_t); /* proto*/
3279 static double __pyx_f_6mprans_18BoundaryConditions_31__cppClass_WavesCharacteristics___cpp_calculate_phi(struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *__pyx_v_self, double *__pyx_v_x, double __pyx_v_t); /* proto*/
3280 static double __pyx_f_6mprans_18BoundaryConditions_31__cppClass_WavesCharacteristics___cpp_calculate_vof(struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *__pyx_v_self, double *__pyx_v_x, double __pyx_v_t); /* proto*/
3281 static double __pyx_f_6mprans_18BoundaryConditions_31__cppClass_WavesCharacteristics___cpp_calculate_smoothing_H(struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *__pyx_v_self, double __pyx_v_phi); /* proto*/
3282 static PyObject *__pyx_array_get_memview(struct __pyx_array_obj *__pyx_v_self); /* proto*/
3283 static char *__pyx_memoryview_get_item_pointer(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index); /* proto*/
3284 static PyObject *__pyx_memoryview_is_slice(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj); /* proto*/
3285 static PyObject *__pyx_memoryview_setitem_slice_assignment(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src); /* proto*/
3286 static PyObject *__pyx_memoryview_setitem_slice_assign_scalar(struct __pyx_memoryview_obj *__pyx_v_self, struct __pyx_memoryview_obj *__pyx_v_dst, PyObject *__pyx_v_value); /* proto*/
3287 static PyObject *__pyx_memoryview_setitem_indexed(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value); /* proto*/
3288 static PyObject *__pyx_memoryview_convert_item_to_object(struct __pyx_memoryview_obj *__pyx_v_self, char *__pyx_v_itemp); /* proto*/
3289 static PyObject *__pyx_memoryview_assign_item_from_object(struct __pyx_memoryview_obj *__pyx_v_self, char *__pyx_v_itemp, PyObject *__pyx_v_value); /* proto*/
3290 static PyObject *__pyx_memoryviewslice_convert_item_to_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp); /* proto*/
3291 static PyObject *__pyx_memoryviewslice_assign_item_from_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp, PyObject *__pyx_v_value); /* proto*/
3292 
3293 /* Module declarations from 'cython.view' */
3294 static struct __pyx_array_obj *__pyx_array_new(PyObject *, Py_ssize_t, char *, char *, char *); /*proto*/
3295 
3296 /* Module declarations from 'cython' */
3297 
3298 /* Module declarations from 'libcpp' */
3299 
3300 /* Module declarations from 'cpython.buffer' */
3301 
3302 /* Module declarations from 'libc.string' */
3303 
3304 /* Module declarations from 'libc.stdio' */
3305 
3306 /* Module declarations from '__builtin__' */
3307 
3308 /* Module declarations from 'cpython.type' */
3309 static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0;
3310 
3311 /* Module declarations from 'cpython' */
3312 
3313 /* Module declarations from 'cpython.object' */
3314 
3315 /* Module declarations from 'cpython.ref' */
3316 
3317 /* Module declarations from 'cpython.mem' */
3318 
3319 /* Module declarations from 'numpy' */
3320 
3321 /* Module declarations from 'numpy' */
3322 static PyTypeObject *__pyx_ptype_5numpy_dtype = 0;
3323 static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0;
3324 static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0;
3325 static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0;
3326 static PyTypeObject *__pyx_ptype_5numpy_generic = 0;
3327 static PyTypeObject *__pyx_ptype_5numpy_number = 0;
3328 static PyTypeObject *__pyx_ptype_5numpy_integer = 0;
3329 static PyTypeObject *__pyx_ptype_5numpy_signedinteger = 0;
3330 static PyTypeObject *__pyx_ptype_5numpy_unsignedinteger = 0;
3331 static PyTypeObject *__pyx_ptype_5numpy_inexact = 0;
3332 static PyTypeObject *__pyx_ptype_5numpy_floating = 0;
3333 static PyTypeObject *__pyx_ptype_5numpy_complexfloating = 0;
3334 static PyTypeObject *__pyx_ptype_5numpy_flexible = 0;
3335 static PyTypeObject *__pyx_ptype_5numpy_character = 0;
3336 static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0;
3337 
3338 /* Module declarations from 'proteus.BoundaryConditions' */
3339 static PyTypeObject *__pyx_ptype_7proteus_18BoundaryConditions_BC_Base = 0;
3340 static PyTypeObject *__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition = 0;
3341 
3342 /* Module declarations from 'proteus' */
3343 
3344 /* Module declarations from 'mprans.BoundaryConditions' */
3345 static PyTypeObject *__pyx_ptype_6mprans_18BoundaryConditions_BC_RANS = 0;
3346 static PyTypeObject *__pyx_ptype_6mprans_18BoundaryConditions_RelaxationZone = 0;
3347 static PyTypeObject *__pyx_ptype_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator = 0;
3348 static PyTypeObject *__pyx_ptype_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics = 0;
3349 static PyTypeObject *__pyx_ptype_6mprans_18BoundaryConditions___pyx_scope_struct__setRigidBodyMoveMesh = 0;
3350 static PyTypeObject *__pyx_ptype_6mprans_18BoundaryConditions___pyx_scope_struct_1_get_DBC_h = 0;
3351 static PyTypeObject *__pyx_ptype_6mprans_18BoundaryConditions___pyx_scope_struct_2_setChMoveMesh = 0;
3352 static PyTypeObject *__pyx_ptype_6mprans_18BoundaryConditions___pyx_scope_struct_3_setWallFunction = 0;
3353 static PyTypeObject *__pyx_ptype_6mprans_18BoundaryConditions___pyx_scope_struct_4_setMoveMesh = 0;
3354 static PyTypeObject *__pyx_ptype_6mprans_18BoundaryConditions___pyx_scope_struct_5_setUnsteadyTwoPhaseVelocityInlet = 0;
3355 static PyTypeObject *__pyx_ptype_6mprans_18BoundaryConditions___pyx_scope_struct_6_setTwoPhaseVelocityInlet = 0;
3356 static PyTypeObject *__pyx_ptype_6mprans_18BoundaryConditions___pyx_scope_struct_7_get_inlet_ux_dirichlet = 0;
3357 static PyTypeObject *__pyx_ptype_6mprans_18BoundaryConditions___pyx_scope_struct_8_setHydrostaticPressureOutletWithDepth = 0;
3358 static PyTypeObject *__pyx_ptype_6mprans_18BoundaryConditions___pyx_scope_struct_9_get_inlet_ux_dirichlet = 0;
3359 static PyTypeObject *__pyx_array_type = 0;
3360 static PyTypeObject *__pyx_MemviewEnum_type = 0;
3361 static PyTypeObject *__pyx_memoryview_type = 0;
3362 static PyTypeObject *__pyx_memoryviewslice_type = 0;
3363 static PyObject *generic = 0;
3364 static PyObject *strided = 0;
3365 static PyObject *indirect = 0;
3366 static PyObject *contiguous = 0;
3367 static PyObject *indirect_contiguous = 0;
3368 static int __pyx_memoryview_thread_locks_used;
3369 static PyThread_type_lock __pyx_memoryview_thread_locks[8];
3370 static PyObject *__pyx_f_6mprans_18BoundaryConditions___pyx_unpickle_BC_RANS__set_state(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *, PyObject *); /*proto*/
3371 static PyObject *__pyx_f_6mprans_18BoundaryConditions___pyx_unpickle_RelaxationZoneWaveGenerator__set_state(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *, PyObject *); /*proto*/
3372 static PyObject *__pyx_f_6mprans_18BoundaryConditions___pyx_unpickle___cppClass_WavesCharacteristics__set_state(struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *, PyObject *); /*proto*/
3373 static CYTHON_INLINE PyObject *__Pyx_carray_to_py_double(double *, Py_ssize_t); /*proto*/
3374 static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_double(double *, Py_ssize_t); /*proto*/
3375 static int __Pyx_carray_from_py_double(PyObject *, double *, Py_ssize_t); /*proto*/
3376 static struct __pyx_array_obj *__pyx_array_new(PyObject *, Py_ssize_t, char *, char *, char *); /*proto*/
3377 static void *__pyx_align_pointer(void *, size_t); /*proto*/
3378 static PyObject *__pyx_memoryview_new(PyObject *, int, int, __Pyx_TypeInfo *); /*proto*/
3379 static CYTHON_INLINE int __pyx_memoryview_check(PyObject *); /*proto*/
3380 static PyObject *_unellipsify(PyObject *, int); /*proto*/
3381 static PyObject *assert_direct_dimensions(Py_ssize_t *, int); /*proto*/
3382 static struct __pyx_memoryview_obj *__pyx_memview_slice(struct __pyx_memoryview_obj *, PyObject *); /*proto*/
3383 static int __pyx_memoryview_slice_memviewslice(__Pyx_memviewslice *, Py_ssize_t, Py_ssize_t, Py_ssize_t, int, int, int *, Py_ssize_t, Py_ssize_t, Py_ssize_t, int, int, int, int); /*proto*/
3384 static char *__pyx_pybuffer_index(Py_buffer *, char *, Py_ssize_t, Py_ssize_t); /*proto*/
3385 static int __pyx_memslice_transpose(__Pyx_memviewslice *); /*proto*/
3386 static PyObject *__pyx_memoryview_fromslice(__Pyx_memviewslice, int, PyObject *(*)(char *), int (*)(char *, PyObject *), int); /*proto*/
3387 static __Pyx_memviewslice *__pyx_memoryview_get_slice_from_memoryview(struct __pyx_memoryview_obj *, __Pyx_memviewslice *); /*proto*/
3388 static void __pyx_memoryview_slice_copy(struct __pyx_memoryview_obj *, __Pyx_memviewslice *); /*proto*/
3389 static PyObject *__pyx_memoryview_copy_object(struct __pyx_memoryview_obj *); /*proto*/
3390 static PyObject *__pyx_memoryview_copy_object_from_slice(struct __pyx_memoryview_obj *, __Pyx_memviewslice *); /*proto*/
3391 static Py_ssize_t abs_py_ssize_t(Py_ssize_t); /*proto*/
3392 static char __pyx_get_best_slice_order(__Pyx_memviewslice *, int); /*proto*/
3393 static void _copy_strided_to_strided(char *, Py_ssize_t *, char *, Py_ssize_t *, Py_ssize_t *, Py_ssize_t *, int, size_t); /*proto*/
3394 static void copy_strided_to_strided(__Pyx_memviewslice *, __Pyx_memviewslice *, int, size_t); /*proto*/
3395 static Py_ssize_t __pyx_memoryview_slice_get_size(__Pyx_memviewslice *, int); /*proto*/
3396 static Py_ssize_t __pyx_fill_contig_strides_array(Py_ssize_t *, Py_ssize_t *, Py_ssize_t, int, char); /*proto*/
3397 static void *__pyx_memoryview_copy_data_to_temp(__Pyx_memviewslice *, __Pyx_memviewslice *, char, int); /*proto*/
3398 static int __pyx_memoryview_err_extents(int, Py_ssize_t, Py_ssize_t); /*proto*/
3399 static int __pyx_memoryview_err_dim(PyObject *, char *, int); /*proto*/
3400 static int __pyx_memoryview_err(PyObject *, char *); /*proto*/
3401 static int __pyx_memoryview_copy_contents(__Pyx_memviewslice, __Pyx_memviewslice, int, int, int); /*proto*/
3402 static void __pyx_memoryview_broadcast_leading(__Pyx_memviewslice *, int, int); /*proto*/
3403 static void __pyx_memoryview_refcount_copying(__Pyx_memviewslice *, int, int, int); /*proto*/
3404 static void __pyx_memoryview_refcount_objects_in_slice_with_gil(char *, Py_ssize_t *, Py_ssize_t *, int, int); /*proto*/
3405 static void __pyx_memoryview_refcount_objects_in_slice(char *, Py_ssize_t *, Py_ssize_t *, int, int); /*proto*/
3406 static void __pyx_memoryview_slice_assign_scalar(__Pyx_memviewslice *, int, size_t, void *, int); /*proto*/
3407 static void __pyx_memoryview__slice_assign_scalar(char *, Py_ssize_t *, Py_ssize_t *, int, size_t, void *); /*proto*/
3408 static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *, PyObject *); /*proto*/
3409 static PyObject *__pyx_format_from_typeinfo(__Pyx_TypeInfo *); /*proto*/
3410 static __Pyx_TypeInfo __Pyx_TypeInfo_double = { "double", NULL, sizeof(double), { 0 }, 0, 'R', 0, 0 };
3411 static __Pyx_TypeInfo __Pyx_TypeInfo_int = { "int", NULL, sizeof(int), { 0 }, 0, IS_UNSIGNED(int) ? 'U' : 'I', IS_UNSIGNED(int), 0 };
3412 #define __Pyx_MODULE_NAME "mprans.BoundaryConditions"
3413 extern int __pyx_module_is_main_mprans__BoundaryConditions;
3414 int __pyx_module_is_main_mprans__BoundaryConditions = 0;
3415 
3416 /* Implementation of 'mprans.BoundaryConditions' */
3417 static PyObject *__pyx_builtin_super;
3418 static PyObject *__pyx_builtin_TypeError;
3419 static PyObject *__pyx_builtin_ImportError;
3420 static PyObject *__pyx_builtin_OverflowError;
3421 static PyObject *__pyx_builtin_enumerate;
3422 static PyObject *__pyx_builtin_IndexError;
3423 static PyObject *__pyx_builtin_ValueError;
3424 static PyObject *__pyx_builtin_MemoryError;
3425 static PyObject *__pyx_builtin_range;
3426 static PyObject *__pyx_builtin_Ellipsis;
3427 static PyObject *__pyx_builtin_id;
3428 static const char __pyx_k_B[] = "B";
3429 static const char __pyx_k_E[] = "E";
3430 static const char __pyx_k_H[] = "H";
3431 static const char __pyx_k_K[] = "K";
3432 static const char __pyx_k_O[] = "O";
3433 static const char __pyx_k_T[] = "T{";
3434  static const char __pyx_k_U[] = "U";
3435  static const char __pyx_k_Y[] = "Y";
3436  static const char __pyx_k_c[] = "c";
3437  static const char __pyx_k_d[] = "d";
3438  static const char __pyx_k_g[] = "g";
3439  static const char __pyx_k_h[] = "h";
3440  static const char __pyx_k_i[] = "i";
3441  static const char __pyx_k_n[] = "n";
3442  static const char __pyx_k_p[] = "p";
3443  static const char __pyx_k_q[] = "q";
3444  static const char __pyx_k_s[] = "(%s)";
3445  static const char __pyx_k_t[] = "t";
3446  static const char __pyx_k_u[] = "u";
3447  static const char __pyx_k_v[] = "v";
3448  static const char __pyx_k_w[] = "w";
3449  static const char __pyx_k_x[] = "x";
3450  static const char __pyx_k_U0[] = "U0";
3451  static const char __pyx_k_Up[] = "Up";
3452  static const char __pyx_k_a1[] = "a1";
3453  static const char __pyx_k_ar[] = "ar";
3454  static const char __pyx_k_dd[] = "dd";
3455  static const char __pyx_k_eN[] = "eN";
3456  static const char __pyx_k_hx[] = "hx";
3457  static const char __pyx_k_hy[] = "hy";
3458  static const char __pyx_k_hz[] = "hz";
3459  static const char __pyx_k_id[] = "id";
3460  static const char __pyx_k_ke[] = "ke";
3461  static const char __pyx_k_kk[] = "kk";
3462  static const char __pyx_k_kw[] = "kw";
3463  static const char __pyx_k_nP[] = "nP";
3464  static const char __pyx_k_nd[] = "nd";
3465  static const char __pyx_k_np[] = "np";
3466  static const char __pyx_k_nu[] = "nu";
3467  static const char __pyx_k_os[] = "os";
3468  static const char __pyx_k_ph[] = "ph";
3469  static const char __pyx_k_tV[] = "tV";
3470  static const char __pyx_k_tt[] = "tt";
3471  static const char __pyx_k_u0[] = "u0";
3472  static const char __pyx_k_u1[] = "u1";
3473  static const char __pyx_k_u2[] = "u2";
3474  static const char __pyx_k_ut[] = "ut";
3475  static const char __pyx_k_uu[] = "uu";
3476  static const char __pyx_k_vv[] = "vv";
3477  static const char __pyx_k_wf[] = "wf";
3478  static const char __pyx_k_wt[] = "wt";
3479  static const char __pyx_k_ww[] = "ww";
3480  static const char __pyx_k_xi[] = "xi";
3481  static const char __pyx_k_xx[] = "xx";
3482  static const char __pyx_k_Cmu[] = "Cmu";
3483  static const char __pyx_k_MPI[] = "MPI";
3484  static const char __pyx_k_Uin[] = "Uin";
3485  static const char __pyx_k_abs[] = "abs";
3486  static const char __pyx_k_air[] = "air";
3487  static const char __pyx_k_all[] = "__all__";
3488  static const char __pyx_k_b_i[] = "b_i";
3489  static const char __pyx_k_cos[] = "cos";
3490  static const char __pyx_k_doc[] = "__doc__";
3491  static const char __pyx_k_dot[] = "dot";
3492  static const char __pyx_k_eta[] = "eta";
3493  static const char __pyx_k_exp[] = "exp";
3494  static const char __pyx_k_get[] = "get";
3495  static const char __pyx_k_log[] = "log";
3496  static const char __pyx_k_mwl[] = "mwl";
3497  static const char __pyx_k_new[] = "__new__";
3498  static const char __pyx_k_obj[] = "obj";
3499  static const char __pyx_k_pad[] = "pad";
3500  static const char __pyx_k_phi[] = "phi";
3501  static const char __pyx_k_rho[] = "rho";
3502  static const char __pyx_k_sin[] = "sin";
3503  static const char __pyx_k_str[] = "str";
3504  static const char __pyx_k_sum[] = "sum";
3505  static const char __pyx_k_sys[] = "sys";
3506  static const char __pyx_k_u_p[] = "u_p";
3507  static const char __pyx_k_vof[] = "vof";
3508  static const char __pyx_k_x_0[] = "x_0";
3509  static const char __pyx_k_Comm[] = "Comm";
3510  static const char __pyx_k__165[] = "^";
3511  static const char __pyx_k__166[] = "";
3512  static const char __pyx_k__167[] = ":";
3513 static const char __pyx_k__168[] = "}";
3514 static const char __pyx_k__169[] = ",";
3515 static const char __pyx_k_acos[] = "acos";
3516 static const char __pyx_k_asin[] = "asin";
3517 static const char __pyx_k_b_or[] = "b_or";
3518 static const char __pyx_k_base[] = "base";
3519 static const char __pyx_k_body[] = "body";
3520 static const char __pyx_k_comm[] = "comm";
3521 static const char __pyx_k_dict[] = "__dict__";
3522 static const char __pyx_k_init[] = "__init__";
3523 static const char __pyx_k_join[] = "join";
3524 static const char __pyx_k_kVal[] = "kVal";
3525 static const char __pyx_k_main[] = "__main__";
3526 static const char __pyx_k_math[] = "math";
3527 static const char __pyx_k_mesh[] = "mesh";
3528 static const char __pyx_k_mode[] = "mode";
3529 static const char __pyx_k_name[] = "name";
3530 static const char __pyx_k_ndim[] = "ndim";
3531 static const char __pyx_k_node[] = "node";
3532 static const char __pyx_k_pRef[] = "pRef";
3533 static const char __pyx_k_pack[] = "pack";
3534 static const char __pyx_k_ramp[] = "ramp";
3535 static const char __pyx_k_rank[] = "rank";
3536 static const char __pyx_k_self[] = "self";
3537 static const char __pyx_k_size[] = "size";
3538 static const char __pyx_k_sqrt[] = "sqrt";
3539 static const char __pyx_k_step[] = "step";
3540 static const char __pyx_k_stop[] = "stop";
3541 static const char __pyx_k_tanU[] = "tanU";
3542 static const char __pyx_k_test[] = "__test__";
3543 static const char __pyx_k_uDir[] = "uDir";
3544 static const char __pyx_k_wall[] = "wall";
3545 static const char __pyx_k_wave[] = "wave";
3546 static const char __pyx_k_ASCII[] = "ASCII";
3547 static const char __pyx_k_DBC_h[] = "DBC_h";
3548 static const char __pyx_k_Ustar[] = "Ustar";
3549 static const char __pyx_k_Uwind[] = "Uwind";
3550 static const char __pyx_k_Yplus[] = "Yplus";
3551 static const char __pyx_k_Ystar[] = "Ystar";
3552 static const char __pyx_k_array[] = "array";
3553 static const char __pyx_k_atan2[] = "atan2";
3554 static const char __pyx_k_class[] = "__class__";
3555 static const char __pyx_k_dtype[] = "dtype";
3556 static const char __pyx_k_empty[] = "empty";
3557 static const char __pyx_k_error[] = "error";
3558 static const char __pyx_k_flags[] = "flags";
3559 static const char __pyx_k_gradU[] = "gradU";
3560 static const char __pyx_k_items[] = "items";
3561 static const char __pyx_k_kInit[] = "kInit";
3562 static const char __pyx_k_kWall[] = "kWall";
3563 static const char __pyx_k_kappa[] = "kappa";
3564 static const char __pyx_k_meanV[] = "meanV";
3565 static const char __pyx_k_model[] = "model";
3566 static const char __pyx_k_numpy[] = "numpy";
3567 static const char __pyx_k_p_top[] = "p_top";
3568 static const char __pyx_k_q_phi[] = "q_phi";
3569 static const char __pyx_k_query[] = "query";
3570 static const char __pyx_k_range[] = "range";
3571 static const char __pyx_k_relax[] = "relax";
3572 static const char __pyx_k_reset[] = "reset";
3573 static const char __pyx_k_rhoUp[] = "rhoUp";
3574 static const char __pyx_k_scipy[] = "scipy";
3575 static const char __pyx_k_shape[] = "shape";
3576 static const char __pyx_k_start[] = "start";
3577 static const char __pyx_k_state[] = "state";
3578 static const char __pyx_k_super[] = "super";
3579 static const char __pyx_k_uInit[] = "uInit";
3580 static const char __pyx_k_utAbs[] = "utAbs";
3581 static const char __pyx_k_water[] = "water";
3582 static const char __pyx_k_waves[] = "waves";
3583 static const char __pyx_k_zeros[] = "zeros";
3584 static const char __pyx_k_zones[] = "zones";
3585 static const char __pyx_k_Domain[] = "Domain";
3586 static const char __pyx_k_NoSlip[] = "NoSlip";
3587 static const char __pyx_k_Ubound[] = "Ubound";
3588 static const char __pyx_k_avDict[] = "avDict";
3589 static const char __pyx_k_center[] = "center";
3590 static const char __pyx_k_coords[] = "coords";
3591 static const char __pyx_k_dict_2[] = "_dict";
3592 static const char __pyx_k_encode[] = "encode";
3593 static const char __pyx_k_format[] = "format";
3594 static const char __pyx_k_import[] = "__import__";
3595 static const char __pyx_k_kdtree[] = "kdtree";
3596 static const char __pyx_k_module[] = "__module__";
3597 static const char __pyx_k_mpi4py[] = "mpi4py";
3598 static const char __pyx_k_name_2[] = "__name__";
3599 static const char __pyx_k_pickle[] = "pickle";
3600 static const char __pyx_k_porous[] = "porous";
3601 static const char __pyx_k_reduce[] = "__reduce__";
3602 static const char __pyx_k_struct[] = "struct";
3603 static const char __pyx_k_unpack[] = "unpack";
3604 static const char __pyx_k_update[] = "update";
3605 static const char __pyx_k_utStar[] = "utStar";
3606 static const char __pyx_k_AV_base[] = "AV_base";
3607 static const char __pyx_k_BC_RANS[] = "BC_RANS";
3608 static const char __pyx_k_cKDTree[] = "cKDTree";
3609 static const char __pyx_k_dInflow[] = "dInflow";
3610 static const char __pyx_k_eOffset[] = "eOffset";
3611 static const char __pyx_k_element[] = "element";
3612 static const char __pyx_k_fortran[] = "fortran";
3613 static const char __pyx_k_kInflow[] = "kInflow";
3614 static const char __pyx_k_memview[] = "memview";
3615 static const char __pyx_k_new_x_0[] = "new_x_0";
3616 static const char __pyx_k_old_div[] = "old_div";
3617 static const char __pyx_k_phi_top[] = "phi_top";
3618 static const char __pyx_k_prepare[] = "__prepare__";
3619 static const char __pyx_k_proteus[] = "proteus";
3620 static const char __pyx_k_rhoDown[] = "rhoDown";
3621 static const char __pyx_k_setTank[] = "setTank";
3622 static const char __pyx_k_spatial[] = "spatial";
3623 static const char __pyx_k_statem1[] = "statem1";
3624 static const char __pyx_k_tau_rho[] = "tau_rho";
3625 static const char __pyx_k_vof_air[] = "vof_air";
3626 static const char __pyx_k_Ellipsis[] = "Ellipsis";
3627 static const char __pyx_k_FreeSlip[] = "FreeSlip";
3628 static const char __pyx_k_builtins[] = "builtins";
3629 static const char __pyx_k_constant[] = "constant";
3630 static const char __pyx_k_distance[] = "distance";
3631 static const char __pyx_k_dragBeta[] = "dragBeta";
3632 static const char __pyx_k_femSpace[] = "femSpace";
3633 static const char __pyx_k_getKappa[] = "getKappa";
3634 static const char __pyx_k_getValue[] = "getValue";
3635 static const char __pyx_k_getstate[] = "__getstate__";
3636 static const char __pyx_k_itemsize[] = "itemsize";
3637 static const char __pyx_k_last_pos[] = "last_pos";
3638 static const char __pyx_k_logEvent[] = "logEvent";
3639 static const char __pyx_k_porosity[] = "porosity";
3640 static const char __pyx_k_pyx_type[] = "__pyx_type";
3641 static const char __pyx_k_qualname[] = "__qualname__";
3642 static const char __pyx_k_refLevel[] = "refLevel";
3643 static const char __pyx_k_seaLevel[] = "seaLevel";
3644 static const char __pyx_k_setstate[] = "__setstate__";
3645 static const char __pyx_k_tompi4py[] = "tompi4py";
3646 static const char __pyx_k_TypeError[] = "TypeError";
3647 static const char __pyx_k_WaveTools[] = "WaveTools";
3648 static const char __pyx_k_calculate[] = "calculate";
3649 static const char __pyx_k_dragAlpha[] = "dragAlpha";
3650 static const char __pyx_k_enumerate[] = "enumerate";
3651 static const char __pyx_k_get_DBC_h[] = "get_DBC_h";
3652 static const char __pyx_k_metaclass[] = "__metaclass__";
3653 static const char __pyx_k_nodeArray[] = "nodeArray";
3654 static const char __pyx_k_onElement[] = "onElement";
3655 static const char __pyx_k_pyx_state[] = "__pyx_state";
3656 static const char __pyx_k_reduce_ex[] = "__reduce_ex__";
3657 static const char __pyx_k_setNoSlip[] = "setNoSlip";
3658 static const char __pyx_k_smoothing[] = "smoothing";
3659 static const char __pyx_k_turbModel[] = "turbModel";
3660 static const char __pyx_k_vert_axis[] = "vert_axis";
3661 static const char __pyx_k_vof_water[] = "vof_water";
3662 static const char __pyx_k_zone_type[] = "zone_type";
3663 static const char __pyx_k_Atmosphere[] = "Atmosphere";
3664 static const char __pyx_k_IndexError[] = "IndexError";
3665 static const char __pyx_k_ValueError[] = "ValueError";
3666 static const char __pyx_k_absorption[] = "absorption";
3667 static const char __pyx_k_generation[] = "generation";
3668 static const char __pyx_k_kInflowAir[] = "kInflowAir";
3669 static const char __pyx_k_past_utils[] = "past.utils";
3670 static const char __pyx_k_phi_porous[] = "phi_porous";
3671 static const char __pyx_k_pyx_result[] = "__pyx_result";
3672 static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__";
3673 static const char __pyx_k_rot_matrix[] = "rot_matrix";
3674 static const char __pyx_k_waterLevel[] = "waterLevel";
3675 static const char __pyx_k_wind_speed[] = "wind_speed";
3676 static const char __pyx_k_ImportError[] = "ImportError";
3677 static const char __pyx_k_MemoryError[] = "MemoryError";
3678 static const char __pyx_k_NonMaterial[] = "NonMaterial";
3679 static const char __pyx_k_PickleError[] = "PickleError";
3680 static const char __pyx_k_attachModel[] = "attachModel";
3681 static const char __pyx_k_elementMaps[] = "elementMaps";
3682 static const char __pyx_k_orientation[] = "orientation";
3683 static const char __pyx_k_owning_proc[] = "owning_proc";
3684 static const char __pyx_k_setFreeSlip[] = "setFreeSlip";
3685 static const char __pyx_k_setLinearBC[] = "setLinearBC";
3686 static const char __pyx_k_setMoveMesh[] = "setMoveMesh";
3687 static const char __pyx_k_shearStress[] = "shearStress";
3688 static const char __pyx_k_coefficients[] = "coefficients";
3689 static const char __pyx_k_coords_relax[] = "coords_relax";
3690 static const char __pyx_k_getVariables[] = "getVariables";
3691 static const char __pyx_k_kWall___init[] = "kWall.__init__";
3692 static const char __pyx_k_nearest_node[] = "nearest_node";
3693 static const char __pyx_k_nodes_kdtree[] = "nodes_kdtree";
3694 static const char __pyx_k_pyx_checksum[] = "__pyx_checksum";
3695 static const char __pyx_k_q_phi_porous[] = "q_phi_porous";
3696 static const char __pyx_k_stringsource[] = "stringsource";
3697 static const char __pyx_k_use_setstate[] = "use_setstate";
3698 static const char __pyx_k_ux_dirichlet[] = "ux_dirichlet";
3699 static const char __pyx_k_BC_RANS_reset[] = "BC_RANS.reset";
3700 static const char __pyx_k_OverflowError[] = "OverflowError";
3701 static const char __pyx_k_WallFunctions[] = "WallFunctions";
3702 static const char __pyx_k_Wall_function[] = "Wall function";
3703 static const char __pyx_k_kappaNearWall[] = "kappaNearWall";
3704 static const char __pyx_k_last_position[] = "last_position";
3705 static const char __pyx_k_local_element[] = "local_element";
3706 static const char __pyx_k_nSpace_global[] = "nSpace_global";
3707 static const char __pyx_k_pyx_getbuffer[] = "__pyx_getbuffer";
3708 static const char __pyx_k_reduce_cython[] = "__reduce_cython__";
3709 static const char __pyx_k_setAtmosphere[] = "setAtmosphere";
3710 static const char __pyx_k_setChMoveMesh[] = "setChMoveMesh";
3711 static const char __pyx_k_setConstantBC[] = "setConstantBC";
3712 static const char __pyx_k_setFixedNodes[] = "setFixedNodes";
3713 static const char __pyx_k_setLinearRamp[] = "setLinearRamp";
3714 static const char __pyx_k_RelaxationZone[] = "RelaxationZone";
3715 static const char __pyx_k_calculate_init[] = "calculate_init";
3716 static const char __pyx_k_cpp_MoveMesh_h[] = "__cpp_MoveMesh_h";
3717 static const char __pyx_k_dissipationVal[] = "dissipationVal";
3718 static const char __pyx_k_epsFact_porous[] = "epsFact_porous";
3719 static const char __pyx_k_kWall_getKappa[] = "kWall.getKappa";
3720 static const char __pyx_k_levelModelList[] = "levelModelList";
3721 static const char __pyx_k_setNonMaterial[] = "setNonMaterial";
3722 static const char __pyx_k_BC_RANS_setTank[] = "BC_RANS.setTank";
3723 static const char __pyx_k_Closure_0_model[] = "Closure_0_model";
3724 static const char __pyx_k_Closure_1_model[] = "Closure_1_model";
3725 static const char __pyx_k_View_MemoryView[] = "View.MemoryView";
3726 static const char __pyx_k_allocate_buffer[] = "allocate_buffer";
3727 static const char __pyx_k_checkedElements[] = "checkedElements";
3728 static const char __pyx_k_constant_values[] = "constant_values";
3729 static const char __pyx_k_cpp_MoveMesh_hx[] = "__cpp_MoveMesh_hx";
3730 static const char __pyx_k_cpp_MoveMesh_hy[] = "__cpp_MoveMesh_hy";
3731 static const char __pyx_k_cpp_MoveMesh_hz[] = "__cpp_MoveMesh_hz";
3732 static const char __pyx_k_dtype_is_object[] = "dtype_is_object";
3733 static const char __pyx_k_extractVelocity[] = "extractVelocity";
3734 static const char __pyx_k_getInverseValue[] = "getInverseValue";
3735 static const char __pyx_k_getLocalElement[] = "getLocalElement";
3736 static const char __pyx_k_get_k_dirichlet[] = "get_k_dirichlet";
3737 static const char __pyx_k_get_u_diffusive[] = "get_u_diffusive";
3738 static const char __pyx_k_get_u_dirichlet[] = "get_u_dirichlet";
3739 static const char __pyx_k_get_v_diffusive[] = "get_v_diffusive";
3740 static const char __pyx_k_get_v_dirichlet[] = "get_v_dirichlet";
3741 static const char __pyx_k_get_w_diffusive[] = "get_w_diffusive";
3742 static const char __pyx_k_get_w_dirichlet[] = "get_w_dirichlet";
3743 static const char __pyx_k_kWall_calculate[] = "kWall.calculate";
3744 static const char __pyx_k_pyx_PickleError[] = "__pyx_PickleError";
3745 static const char __pyx_k_rotation_matrix[] = "rotation_matrix";
3746 static const char __pyx_k_setWallFunction[] = "setWallFunction";
3747 static const char __pyx_k_setstate_cython[] = "__setstate_cython__";
3748 static const char __pyx_k_timeIntegration[] = "timeIntegration";
3749 static const char __pyx_k_velocity_porous[] = "velocity_porous";
3750 static const char __pyx_k_referenceElement[] = "referenceElement";
3751 static const char __pyx_k_BC_RANS_setNoSlip[] = "BC_RANS.setNoSlip";
3752 static const char __pyx_k_dissipationInflow[] = "dissipationInflow";
3753 static const char __pyx_k_elementNodesArray[] = "elementNodesArray";
3754 static const char __pyx_k_femSpace_velocity[] = "femSpace_velocity";
3755 static const char __pyx_k_inlet_k_dirichlet[] = "inlet_k_dirichlet";
3756 static const char __pyx_k_inlet_p_advective[] = "inlet_p_advective";
3757 static const char __pyx_k_kWall_attachModel[] = "kWall.attachModel";
3758 static const char __pyx_k_nodeElementsArray[] = "nodeElementsArray";
3759 static const char __pyx_k_proteus_Profiling[] = "proteus.Profiling";
3760 static const char __pyx_k_pyx_unpickle_Enum[] = "__pyx_unpickle_Enum";
3761 static const char __pyx_k_q_velocity_porous[] = "q_velocity_porous";
3762 static const char __pyx_k_smoothedHeaviside[] = "smoothedHeaviside";
3763 static const char __pyx_k_AuxiliaryVariables[] = "AuxiliaryVariables";
3764 static const char __pyx_k_BoundaryConditions[] = "BoundaryConditions";
3765 static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
3766 static const char __pyx_k_nodeElementOffsets[] = "nodeElementOffsets";
3767 static const char __pyx_k_patchBoundaryNodes[] = "patchBoundaryNodes";
3768 static const char __pyx_k_strided_and_direct[] = "<strided and direct>";
3769 static const char __pyx_k_tangentialVelocity[] = "tangentialVelocity";
3770 static const char __pyx_k_BC_RANS_setFreeSlip[] = "BC_RANS.setFreeSlip";
3771 static const char __pyx_k_BC_RANS_setMoveMesh[] = "BC_RANS.setMoveMesh";
3772 static const char __pyx_k_getLocalNearestNode[] = "getLocalNearestNode";
3773 static const char __pyx_k_inlet_phi_dirichlet[] = "inlet_phi_dirichlet";
3774 static const char __pyx_k_inlet_vof_dirichlet[] = "inlet_vof_dirichlet";
3775 static const char __pyx_k_kWall_kappaNearWall[] = "kWall.kappaNearWall";
3776 static const char __pyx_k_WallFunctions___init[] = "WallFunctions.__init__";
3777 static const char __pyx_k_calculate_phi_python[] = "calculate_phi_python";
3778 static const char __pyx_k_calculate_vel_python[] = "calculate_vel_python";
3779 static const char __pyx_k_dissipationInflowAir[] = "dissipationInflowAir";
3780 static const char __pyx_k_elementMaterialTypes[] = "elementMaterialTypes";
3781 static const char __pyx_k_kWall_calculate_init[] = "kWall.calculate_init";
3782 static const char __pyx_k_pyx_unpickle_BC_RANS[] = "__pyx_unpickle_BC_RANS";
3783 static const char __pyx_k_setRigidBodyMoveMesh[] = "setRigidBodyMoveMesh";
3784 static const char __pyx_k_strided_and_indirect[] = "<strided and indirect>";
3785 static const char __pyx_k_BC_RANS_setAtmosphere[] = "BC_RANS.setAtmosphere";
3786 static const char __pyx_k_BC_RANS_setChMoveMesh[] = "BC_RANS.setChMoveMesh";
3787 static const char __pyx_k_BC_RANS_setFixedNodes[] = "BC_RANS.setFixedNodes";
3788 static const char __pyx_k_TwoPhaseVelocityInlet[] = "TwoPhaseVelocityInlet";
3789 static const char __pyx_k_constantInletVelocity[] = "constantInletVelocity";
3790 static const char __pyx_k_contiguous_and_direct[] = "<contiguous and direct>";
3791 static const char __pyx_k_nearest_node_distance[] = "nearest_node_distance";
3792 static const char __pyx_k_setTurbulentDirichlet[] = "setTurbulentDirichlet";
3793 static const char __pyx_k_BC_RANS_setNonMaterial[] = "BC_RANS.setNonMaterial";
3794 static const char __pyx_k_MemoryView_of_r_object[] = "<MemoryView of %r object>";
3795 static const char __pyx_k_constantOutletPressure[] = "constantOutletPressure";
3796 static const char __pyx_k_get_inlet_ux_dirichlet[] = "get_inlet_ux_dirichlet";
3797 static const char __pyx_k_BC_RANS___reduce_cython[] = "BC_RANS.__reduce_cython__";
3798 static const char __pyx_k_BC_RANS_setWallFunction[] = "BC_RANS.setWallFunction";
3799 static const char __pyx_k_MemoryView_of_r_at_0x_x[] = "<MemoryView of %r at 0x%x>";
3800 static const char __pyx_k_WallFunctions_calculate[] = "WallFunctions.calculate";
3801 static const char __pyx_k_contiguous_and_indirect[] = "<contiguous and indirect>";
3802 static const char __pyx_k_setYplusNormalDirection[] = "setYplusNormalDirection";
3803 static const char __pyx_k_BC_RANS___cpp_MoveMesh_h[] = "BC_RANS.__cpp_MoveMesh_h";
3804 static const char __pyx_k_Cannot_index_with_type_s[] = "Cannot index with type '%s'";
3805 static const char __pyx_k_attachAuxiliaryVariables[] = "attachAuxiliaryVariables";
3806 static const char __pyx_k_getFluidKappaLocalCoords[] = "getFluidKappaLocalCoords";
3807 static const char __pyx_k_setConstantInletVelocity[] = "setConstantInletVelocity";
3808 static const char __pyx_k_setTurbulentZeroGradient[] = "setTurbulentZeroGradient";
3809 static const char __pyx_k_setTwoPhaseVelocityInlet[] = "setTwoPhaseVelocityInlet";
3810 static const char __pyx_k_BC_RANS___cpp_MoveMesh_hx[] = "BC_RANS.__cpp_MoveMesh_hx";
3811 static const char __pyx_k_BC_RANS___cpp_MoveMesh_hy[] = "BC_RANS.__cpp_MoveMesh_hy";
3812 static const char __pyx_k_BC_RANS___cpp_MoveMesh_hz[] = "BC_RANS.__cpp_MoveMesh_hz";
3813 static const char __pyx_k_BC_RANS___setstate_cython[] = "BC_RANS.__setstate_cython__";
3814 static const char __pyx_k_Invalid_shape_in_axis_d_d[] = "Invalid shape in axis %d: %d.";
3815 static const char __pyx_k_WallFunctions_attachModel[] = "WallFunctions.attachModel";
3816 static const char __pyx_k_get_dissipation_dirichlet[] = "get_dissipation_dirichlet";
3817 static const char __pyx_k_mprans_BoundaryConditions[] = "mprans.BoundaryConditions";
3818 static const char __pyx_k_setConstantOutletPressure[] = "setConstantOutletPressure";
3819 static const char __pyx_k_setMoveMesh_locals_lambda[] = "setMoveMesh.<locals>.<lambda>";
3820 static const char __pyx_k_WallFunctions_getVariables[] = "WallFunctions.getVariables";
3821 static const char __pyx_k_smoothedHeaviside_integral[] = "smoothedHeaviside_integral";
3822 static const char __pyx_k_RelaxationZoneWaveGenerator[] = "RelaxationZoneWaveGenerator";
3823 static const char __pyx_k_findElementContainingCoords[] = "findElementContainingCoords";
3824 static const char __pyx_k_getFluidVelocityLocalCoords[] = "getFluidVelocityLocalCoords";
3825 static const char __pyx_k_inlet_dissipation_dirichlet[] = "inlet_dissipation_dirichlet";
3826 static const char __pyx_k_itemsize_0_for_cython_array[] = "itemsize <= 0 for cython.array";
3827 static const char __pyx_k_setChMoveMesh_locals_lambda[] = "setChMoveMesh.<locals>.<lambda>";
3828 static const char __pyx_k_BC_RANS_setRigidBodyMoveMesh[] = "BC_RANS.setRigidBodyMoveMesh";
3829 static const char __pyx_k_WallFunctions_calculate_init[] = "WallFunctions.calculate_init";
3830 static const char __pyx_k_BC_RANS_setTurbulentDirichlet[] = "BC_RANS.setTurbulentDirichlet";
3831 static const char __pyx_k_RelaxationZone_calculate_init[] = "RelaxationZone.calculate_init";
3832 static const char __pyx_k_WallFunctions_extractVelocity[] = "WallFunctions.extractVelocity";
3833 static const char __pyx_k_WallFunctions_getLocalElement[] = "WallFunctions.getLocalElement";
3834 static const char __pyx_k_WallFunctions_get_k_dirichlet[] = "WallFunctions.get_k_dirichlet";
3835 static const char __pyx_k_WallFunctions_get_u_diffusive[] = "WallFunctions.get_u_diffusive";
3836 static const char __pyx_k_WallFunctions_get_u_dirichlet[] = "WallFunctions.get_u_dirichlet";
3837 static const char __pyx_k_WallFunctions_get_v_diffusive[] = "WallFunctions.get_v_diffusive";
3838 static const char __pyx_k_WallFunctions_get_v_dirichlet[] = "WallFunctions.get_v_dirichlet";
3839 static const char __pyx_k_WallFunctions_get_w_diffusive[] = "WallFunctions.get_w_diffusive";
3840 static const char __pyx_k_WallFunctions_get_w_dirichlet[] = "WallFunctions.get_w_dirichlet";
3841 static const char __pyx_k_cppClass_WavesCharacteristics[] = "__cppClass_WavesCharacteristics";
3842 static const char __pyx_k_setWallFunction_locals_lambda[] = "setWallFunction.<locals>.<lambda>";
3843 static const char __pyx_k_unable_to_allocate_array_data[] = "unable to allocate array data.";
3844 static const char __pyx_k_RelaxationZone___reduce_cython[] = "RelaxationZone.__reduce_cython__";
3845 static const char __pyx_k_kWall_attachAuxiliaryVariables[] = "kWall.attachAuxiliaryVariables";
3846 static const char __pyx_k_kWall_getFluidKappaLocalCoords[] = "kWall.getFluidKappaLocalCoords";
3847 static const char __pyx_k_proteus_ctransportCoefficients[] = "proteus.ctransportCoefficients";
3848 static const char __pyx_k_pyx_unpickle_RelaxationZoneWav[] = "__pyx_unpickle_RelaxationZoneWaveGenerator";
3849 static const char __pyx_k_pyx_unpickle___cppClass_WavesC[] = "__pyx_unpickle___cppClass_WavesCharacteristics";
3850 static const char __pyx_k_strided_and_direct_or_indirect[] = "<strided and direct or indirect>";
3851 static const char __pyx_k_Auxiliary_variable_used_to_calc[] = "\n Auxiliary variable used to calculate attributes of an associated shape\n class instance acting as a wall.\n ";
3852 static const char __pyx_k_WARNING_Dirichlet_condition_for[] = "WARNING: Dirichlet condition for k in ";
3853 static const char __pyx_k_cppClass_WavesCharacteristics_2[] = "_cppClass_WavesCharacteristics";
3854 static const char __pyx_k_cppClass_WavesCharacteristics_3[] = "__cppClass_WavesCharacteristics.__reduce_cython__";
3855 static const char __pyx_k_cppClass_WavesCharacteristics_4[] = "__cppClass_WavesCharacteristics.__setstate_cython__";
3856 static const char __pyx_k_has_not_been_set_Ignore_if_RANS[] = " has not been set. Ignore if RANS is not used";
3857 static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import";
3858 static const char __pyx_k_oritentation_must_be_set_for_BC[] = "oritentation must be set for BC";
3859 static const char __pyx_k_setRigidBodyMoveMesh_locals_get[] = "setRigidBodyMoveMesh.<locals>.get_DBC_h.<locals>.DBC_h";
3860 static const char __pyx_k_setTwoPhaseVelocityInlet_locals[] = "setTwoPhaseVelocityInlet.<locals>.get_inlet_ux_dirichlet.<locals>.ux_dirichlet";
3861 static const char __pyx_k_BC_RANS_setConstantInletVelocity[] = "BC_RANS.setConstantInletVelocity";
3862 static const char __pyx_k_BC_RANS_setConstantOutletPressur[] = "BC_RANS.setConstantOutletPressure";
3863 static const char __pyx_k_BC_RANS_setHydrostaticPressureOu[] = "BC_RANS.setHydrostaticPressureOutletWithDepth";
3864 static const char __pyx_k_BC_RANS_setTurbulentZeroGradient[] = "BC_RANS.setTurbulentZeroGradient";
3865 static const char __pyx_k_BC_RANS_setTwoPhaseVelocityInlet[] = "BC_RANS.setTwoPhaseVelocityInlet";
3866 static const char __pyx_k_BC_RANS_setUnsteadyTwoPhaseVeloc[] = "BC_RANS.setUnsteadyTwoPhaseVelocityInlet";
3867 static const char __pyx_k_Boundary_orientation_must_be_def[] = "Boundary orientation must be defined!";
3868 static const char __pyx_k_Buffer_view_does_not_expose_stri[] = "Buffer view does not expose strides";
3869 static const char __pyx_k_Can_only_create_a_buffer_that_is[] = "Can only create a buffer that is contiguous in memory.";
3870 static const char __pyx_k_Cannot_assign_to_read_only_memor[] = "Cannot assign to read-only memoryview";
3871 static const char __pyx_k_Cannot_create_writable_memory_vi[] = "Cannot create writable memory view from read-only memoryview";
3872 static const char __pyx_k_ERROR_Boundary_orientation_for_H[] = "ERROR: Boundary orientation for Hydrostatic flow outlet is not defined";
3873 static const char __pyx_k_ERROR_Boundary_orientation_for_U[] = "ERROR: Boundary orientation for Unsteady flow inlet is not defined";
3874 static const char __pyx_k_Empty_shape_tuple_for_cython_arr[] = "Empty shape tuple for cython.array";
3875 static const char __pyx_k_Incompatible_checksums_0x_x_vs_0[] = "Incompatible checksums (0x%x vs (0xb56ce2c, 0x5b1bad8, 0xceba269) = (BC_type, Shape, _b_or, body, body_python_h, body_python_last_pos, body_python_rot_matrix, clsvof_advective, clsvof_diffusive, clsvof_dirichlet, ct, dissipation_advective, dissipation_diffusive, dissipation_dirichlet, f, hx_dirichlet, hy_dirichlet, hz_dirichlet, k_advective, k_diffusive, k_dirichlet, name, nd, pAddedMass_dirichlet, pInc_advective, pInc_diffusive, pInc_dirichlet, pInit_advective, pInit_diffusive, pInit_dirichlet, p_advective, p_dirichlet, phi_dirichlet, u_advective, u_diffusive, u_dirichlet, u_stress, us_advective, us_diffusive, us_dirichlet, v_advective, v_diffusive, v_dirichlet, v_stress, vof_advective, vof_dirichlet, vos_advective, vos_dirichlet, vs_advective, vs_diffusive, vs_dirichlet, w_advective, w_diffusive, w_dirichlet, w_stress, waves, wind_speed, ws_advective, ws_diffusive, ws_dirichlet, zero_array))";
3876 static const char __pyx_k_Indirect_dimensions_not_supporte[] = "Indirect dimensions not supported";
3877 static const char __pyx_k_Invalid_mode_expected_c_or_fortr[] = "Invalid mode, expected 'c' or 'fortran', got %s";
3878 static const char __pyx_k_Out_of_bounds_on_buffer_access_a[] = "Out of bounds on buffer access (axis %d)";
3879 static const char __pyx_k_RelaxationZoneWaveGenerator___re[] = "RelaxationZoneWaveGenerator.__reduce_cython__";
3880 static const char __pyx_k_RelaxationZoneWaveGenerator___se[] = "RelaxationZoneWaveGenerator.__setstate_cython__";
3881 static const char __pyx_k_RelaxationZoneWaveGenerator_atta[] = "RelaxationZoneWaveGenerator.attachModel";
3882 static const char __pyx_k_RelaxationZoneWaveGenerator_calc[] = "RelaxationZoneWaveGenerator.calculate_init";
3883 static const char __pyx_k_RelaxationZone___setstate_cython[] = "RelaxationZone.__setstate_cython__";
3884 static const char __pyx_k_RelaxationZone_calculate_phi_pyt[] = "RelaxationZone.calculate_phi_python";
3885 static const char __pyx_k_RelaxationZone_calculate_vel_pyt[] = "RelaxationZone.calculate_vel_python";
3886 static const char __pyx_k_Unable_to_convert_item_to_object[] = "Unable to convert item to object";
3887 static const char __pyx_k_WallFunctions_attachAuxiliaryVar[] = "WallFunctions.attachAuxiliaryVariables";
3888 static const char __pyx_k_WallFunctions_findElementContain[] = "WallFunctions.findElementContainingCoords";
3889 static const char __pyx_k_WallFunctions_getFluidVelocityLo[] = "WallFunctions.getFluidVelocityLocalCoords";
3890 static const char __pyx_k_WallFunctions_getLocalNearestNod[] = "WallFunctions.getLocalNearestNode";
3891 static const char __pyx_k_WallFunctions_get_dissipation_di[] = "WallFunctions.get_dissipation_dirichlet";
3892 static const char __pyx_k_WallFunctions_setYplusNormalDire[] = "WallFunctions.setYplusNormalDirection";
3893 static const char __pyx_k_WallFunctions_tangentialVelocity[] = "WallFunctions.tangentialVelocity";
3894 static const char __pyx_k_got_differing_extents_in_dimensi[] = "got differing extents in dimension %d (got %d and %d)";
3895 static const char __pyx_k_hydrostaticPressureOutletWithDep[] = "hydrostaticPressureOutletWithDepth_p_dirichlet";
3896 static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__";
3897 static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import";
3898 static const char __pyx_k_proteus_mprans_BoundaryCondition[] = "proteus/mprans/BoundaryConditions.py";
3899 static const char __pyx_k_setHydrostaticPressureOutletWith[] = "setHydrostaticPressureOutletWithDepth.<locals>.get_inlet_ux_dirichlet.<locals>.ux_dirichlet";
3900 static const char __pyx_k_setUnsteadyTwoPhaseVelocityInlet[] = "setUnsteadyTwoPhaseVelocityInlet.<locals>.<lambda>";
3901 static const char __pyx_k_unable_to_allocate_shape_and_str[] = "unable to allocate shape and strides.";
3902 static const char __pyx_k_Auxiliary_variable_used_to_calc_2[] = "\n Auxiliary variable used to calculate attributes of an associated shape\n class instance acting as a wall for the k variable.\n ";
3903 static const char __pyx_k_WARNING_Dirichlet_condition_for_2[] = "WARNING: Dirichlet condition for dissipation in ";
3904 static const char __pyx_k_setRigidBodyMoveMesh_locals_get_2[] = "setRigidBodyMoveMesh.<locals>.get_DBC_h";
3905 static const char __pyx_k_setTwoPhaseVelocityInlet_locals_2[] = "setTwoPhaseVelocityInlet.<locals>.get_inlet_ux_dirichlet";
3906 static const char __pyx_k_setTwoPhaseVelocityInlet_locals_3[] = "setTwoPhaseVelocityInlet.<locals>.inlet_phi_dirichlet";
3907 static const char __pyx_k_setTwoPhaseVelocityInlet_locals_4[] = "setTwoPhaseVelocityInlet.<locals>.inlet_vof_dirichlet";
3908 static const char __pyx_k_setTwoPhaseVelocityInlet_locals_5[] = "setTwoPhaseVelocityInlet.<locals>.inlet_p_advective";
3909 static const char __pyx_k_setTwoPhaseVelocityInlet_locals_6[] = "setTwoPhaseVelocityInlet.<locals>.inlet_k_dirichlet";
3910 static const char __pyx_k_setTwoPhaseVelocityInlet_locals_7[] = "setTwoPhaseVelocityInlet.<locals>.inlet_dissipation_dirichlet";
3911 static const char __pyx_k_Incompatible_checksums_0x_x_vs_0_2[] = "Incompatible checksums (0x%x vs (0x03213e4, 0xc570c34, 0xedef97b) = (ar, max_flag, model, nd, zones, zones_array))";
3912 static const char __pyx_k_Incompatible_checksums_0x_x_vs_0_3[] = "Incompatible checksums (0x%x vs (0x17beb7a, 0x99c0f35, 0x23a708e) = (WT, _b_or, center, orientation, smoothing, vert_axis, vof_air, vof_water, wind_speed, zero_vel))";
3913 static const char __pyx_k_Incompatible_checksums_0x_x_vs_0_4[] = "Incompatible checksums (0x%x vs (0xb068931, 0x82a3537, 0x6ae9995) = (name))";
3914 static const char __pyx_k_RelaxationZoneWaveGenerator_atta_2[] = "RelaxationZoneWaveGenerator.attachAuxiliaryVariables";
3915 static const char __pyx_k_RelaxationZoneWaveGenerator_calc_2[] = "RelaxationZoneWaveGenerator.calculate";
3916 static const char __pyx_k_hydrostaticPressureOutletWithDep_2[] = "hydrostaticPressureOutletWithDepth_phi_dirichlet";
3917 static const char __pyx_k_hydrostaticPressureOutletWithDep_3[] = "hydrostaticPressureOutletWithDepth_vof_dirichlet";
3918 static const char __pyx_k_setHydrostaticPressureOutletWith_2[] = "setHydrostaticPressureOutletWithDepth.<locals>.hydrostaticPressureOutletWithDepth_p_dirichlet";
3919 static const char __pyx_k_setHydrostaticPressureOutletWith_3[] = "setHydrostaticPressureOutletWithDepth.<locals>.hydrostaticPressureOutletWithDepth_phi_dirichlet";
3920 static const char __pyx_k_setHydrostaticPressureOutletWith_4[] = "setHydrostaticPressureOutletWithDepth.<locals>.hydrostaticPressureOutletWithDepth_vof_dirichlet";
3921 static const char __pyx_k_setHydrostaticPressureOutletWith_5[] = "setHydrostaticPressureOutletWithDepth.<locals>.inlet_k_dirichlet";
3922 static const char __pyx_k_setHydrostaticPressureOutletWith_6[] = "setHydrostaticPressureOutletWithDepth.<locals>.inlet_dissipation_dirichlet";
3923 static const char __pyx_k_setHydrostaticPressureOutletWith_7[] = "setHydrostaticPressureOutletWithDepth.<locals>.get_inlet_ux_dirichlet";
3924 static const char __pyx_k_setHydrostaticPressureOutletWith_8[] = "setHydrostaticPressureOutletWithDepth";
3925 static const char __pyx_k_setUnsteadyTwoPhaseVelocityInlet_2[] = "setUnsteadyTwoPhaseVelocityInlet";
3926 static PyObject *__pyx_n_s_ASCII;
3927 static PyObject *__pyx_n_s_AV_base;
3928 static PyObject *__pyx_n_s_Atmosphere;
3929 static PyObject *__pyx_n_s_AuxiliaryVariables;
3930 static PyObject *__pyx_kp_s_Auxiliary_variable_used_to_calc;
3931 static PyObject *__pyx_kp_s_Auxiliary_variable_used_to_calc_2;
3932 static PyObject *__pyx_n_s_B;
3933 static PyObject *__pyx_n_s_BC_RANS;
3934 static PyObject *__pyx_n_s_BC_RANS___cpp_MoveMesh_h;
3935 static PyObject *__pyx_n_s_BC_RANS___cpp_MoveMesh_hx;
3936 static PyObject *__pyx_n_s_BC_RANS___cpp_MoveMesh_hy;
3937 static PyObject *__pyx_n_s_BC_RANS___cpp_MoveMesh_hz;
3938 static PyObject *__pyx_n_s_BC_RANS___reduce_cython;
3939 static PyObject *__pyx_n_s_BC_RANS___setstate_cython;
3940 static PyObject *__pyx_n_s_BC_RANS_reset;
3941 static PyObject *__pyx_n_s_BC_RANS_setAtmosphere;
3942 static PyObject *__pyx_n_s_BC_RANS_setChMoveMesh;
3943 static PyObject *__pyx_n_s_BC_RANS_setConstantInletVelocity;
3944 static PyObject *__pyx_n_s_BC_RANS_setConstantOutletPressur;
3945 static PyObject *__pyx_n_s_BC_RANS_setFixedNodes;
3946 static PyObject *__pyx_n_s_BC_RANS_setFreeSlip;
3947 static PyObject *__pyx_n_s_BC_RANS_setHydrostaticPressureOu;
3948 static PyObject *__pyx_n_s_BC_RANS_setMoveMesh;
3949 static PyObject *__pyx_n_s_BC_RANS_setNoSlip;
3950 static PyObject *__pyx_n_s_BC_RANS_setNonMaterial;
3951 static PyObject *__pyx_n_s_BC_RANS_setRigidBodyMoveMesh;
3952 static PyObject *__pyx_n_s_BC_RANS_setTank;
3953 static PyObject *__pyx_n_s_BC_RANS_setTurbulentDirichlet;
3954 static PyObject *__pyx_n_s_BC_RANS_setTurbulentZeroGradient;
3955 static PyObject *__pyx_n_s_BC_RANS_setTwoPhaseVelocityInlet;
3956 static PyObject *__pyx_n_s_BC_RANS_setUnsteadyTwoPhaseVeloc;
3957 static PyObject *__pyx_n_s_BC_RANS_setWallFunction;
3958 static PyObject *__pyx_n_s_BoundaryConditions;
3959 static PyObject *__pyx_kp_s_Boundary_orientation_must_be_def;
3960 static PyObject *__pyx_kp_s_Buffer_view_does_not_expose_stri;
3961 static PyObject *__pyx_kp_s_Can_only_create_a_buffer_that_is;
3962 static PyObject *__pyx_kp_s_Cannot_assign_to_read_only_memor;
3963 static PyObject *__pyx_kp_s_Cannot_create_writable_memory_vi;
3964 static PyObject *__pyx_kp_s_Cannot_index_with_type_s;
3965 static PyObject *__pyx_n_s_Closure_0_model;
3966 static PyObject *__pyx_n_s_Closure_1_model;
3967 static PyObject *__pyx_n_s_Cmu;
3968 static PyObject *__pyx_n_s_Comm;
3969 static PyObject *__pyx_n_s_DBC_h;
3970 static PyObject *__pyx_n_s_Domain;
3971 static PyObject *__pyx_n_s_E;
3972 static PyObject *__pyx_kp_s_ERROR_Boundary_orientation_for_H;
3973 static PyObject *__pyx_kp_s_ERROR_Boundary_orientation_for_U;
3974 static PyObject *__pyx_n_s_Ellipsis;
3975 static PyObject *__pyx_kp_s_Empty_shape_tuple_for_cython_arr;
3976 static PyObject *__pyx_n_s_FreeSlip;
3977 static PyObject *__pyx_n_s_H;
3978 static PyObject *__pyx_n_s_ImportError;
3979 static PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0;
3980 static PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_2;
3981 static PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_3;
3982 static PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0_4;
3983 static PyObject *__pyx_n_s_IndexError;
3984 static PyObject *__pyx_kp_s_Indirect_dimensions_not_supporte;
3985 static PyObject *__pyx_kp_s_Invalid_mode_expected_c_or_fortr;
3986 static PyObject *__pyx_kp_s_Invalid_shape_in_axis_d_d;
3987 static PyObject *__pyx_n_s_K;
3988 static PyObject *__pyx_n_s_MPI;
3989 static PyObject *__pyx_n_s_MemoryError;
3990 static PyObject *__pyx_kp_s_MemoryView_of_r_at_0x_x;
3991 static PyObject *__pyx_kp_s_MemoryView_of_r_object;
3992 static PyObject *__pyx_n_s_NoSlip;
3993 static PyObject *__pyx_n_s_NonMaterial;
3994 static PyObject *__pyx_n_b_O;
3995 static PyObject *__pyx_kp_s_Out_of_bounds_on_buffer_access_a;
3996 static PyObject *__pyx_n_s_OverflowError;
3997 static PyObject *__pyx_n_s_PickleError;
3998 static PyObject *__pyx_n_s_RelaxationZone;
3999 static PyObject *__pyx_n_s_RelaxationZoneWaveGenerator;
4000 static PyObject *__pyx_n_s_RelaxationZoneWaveGenerator___re;
4001 static PyObject *__pyx_n_s_RelaxationZoneWaveGenerator___se;
4002 static PyObject *__pyx_n_s_RelaxationZoneWaveGenerator_atta;
4003 static PyObject *__pyx_n_s_RelaxationZoneWaveGenerator_atta_2;
4004 static PyObject *__pyx_n_s_RelaxationZoneWaveGenerator_calc;
4005 static PyObject *__pyx_n_s_RelaxationZoneWaveGenerator_calc_2;
4006 static PyObject *__pyx_n_s_RelaxationZone___reduce_cython;
4007 static PyObject *__pyx_n_s_RelaxationZone___setstate_cython;
4008 static PyObject *__pyx_n_s_RelaxationZone_calculate_init;
4009 static PyObject *__pyx_n_s_RelaxationZone_calculate_phi_pyt;
4010 static PyObject *__pyx_n_s_RelaxationZone_calculate_vel_pyt;
4011 static PyObject *__pyx_kp_b_T;
4012 static PyObject *__pyx_n_s_TwoPhaseVelocityInlet;
4013 static PyObject *__pyx_n_s_TypeError;
4014 static PyObject *__pyx_n_s_U;
4015 static PyObject *__pyx_n_s_U0;
4016 static PyObject *__pyx_n_s_Ubound;
4017 static PyObject *__pyx_n_s_Uin;
4018 static PyObject *__pyx_kp_s_Unable_to_convert_item_to_object;
4019 static PyObject *__pyx_n_s_Up;
4020 static PyObject *__pyx_n_s_Ustar;
4021 static PyObject *__pyx_n_s_Uwind;
4022 static PyObject *__pyx_n_s_ValueError;
4023 static PyObject *__pyx_n_s_View_MemoryView;
4024 static PyObject *__pyx_kp_s_WARNING_Dirichlet_condition_for;
4025 static PyObject *__pyx_kp_s_WARNING_Dirichlet_condition_for_2;
4026 static PyObject *__pyx_n_s_WallFunctions;
4027 static PyObject *__pyx_n_s_WallFunctions___init;
4028 static PyObject *__pyx_n_s_WallFunctions_attachAuxiliaryVar;
4029 static PyObject *__pyx_n_s_WallFunctions_attachModel;
4030 static PyObject *__pyx_n_s_WallFunctions_calculate;
4031 static PyObject *__pyx_n_s_WallFunctions_calculate_init;
4032 static PyObject *__pyx_n_s_WallFunctions_extractVelocity;
4033 static PyObject *__pyx_n_s_WallFunctions_findElementContain;
4034 static PyObject *__pyx_n_s_WallFunctions_getFluidVelocityLo;
4035 static PyObject *__pyx_n_s_WallFunctions_getLocalElement;
4036 static PyObject *__pyx_n_s_WallFunctions_getLocalNearestNod;
4037 static PyObject *__pyx_n_s_WallFunctions_getVariables;
4038 static PyObject *__pyx_n_s_WallFunctions_get_dissipation_di;
4039 static PyObject *__pyx_n_s_WallFunctions_get_k_dirichlet;
4040 static PyObject *__pyx_n_s_WallFunctions_get_u_diffusive;
4041 static PyObject *__pyx_n_s_WallFunctions_get_u_dirichlet;
4042 static PyObject *__pyx_n_s_WallFunctions_get_v_diffusive;
4043 static PyObject *__pyx_n_s_WallFunctions_get_v_dirichlet;
4044 static PyObject *__pyx_n_s_WallFunctions_get_w_diffusive;
4045 static PyObject *__pyx_n_s_WallFunctions_get_w_dirichlet;
4046 static PyObject *__pyx_n_s_WallFunctions_setYplusNormalDire;
4047 static PyObject *__pyx_n_s_WallFunctions_tangentialVelocity;
4048 static PyObject *__pyx_kp_s_Wall_function;
4049 static PyObject *__pyx_n_s_WaveTools;
4050 static PyObject *__pyx_n_s_Y;
4051 static PyObject *__pyx_n_s_Yplus;
4052 static PyObject *__pyx_n_s_Ystar;
4053 static PyObject *__pyx_kp_b__165;
4054 static PyObject *__pyx_kp_b__166;
4055 static PyObject *__pyx_kp_b__167;
4056 static PyObject *__pyx_kp_b__168;
4057 static PyObject *__pyx_kp_u__169;
4058 static PyObject *__pyx_n_s_a1;
4059 static PyObject *__pyx_n_s_abs;
4060 static PyObject *__pyx_n_s_absorption;
4061 static PyObject *__pyx_n_s_acos;
4062 static PyObject *__pyx_n_s_air;
4063 static PyObject *__pyx_n_s_all;
4064 static PyObject *__pyx_n_s_allocate_buffer;
4065 static PyObject *__pyx_n_s_ar;
4066 static PyObject *__pyx_n_s_array;
4067 static PyObject *__pyx_n_s_asin;
4068 static PyObject *__pyx_n_s_atan2;
4069 static PyObject *__pyx_n_s_attachAuxiliaryVariables;
4070 static PyObject *__pyx_n_s_attachModel;
4071 static PyObject *__pyx_n_s_avDict;
4072 static PyObject *__pyx_n_s_b_i;
4073 static PyObject *__pyx_n_s_b_or;
4074 static PyObject *__pyx_n_s_base;
4075 static PyObject *__pyx_n_s_body;
4076 static PyObject *__pyx_n_s_builtins;
4077 static PyObject *__pyx_n_s_c;
4078 static PyObject *__pyx_n_u_c;
4079 static PyObject *__pyx_n_s_cKDTree;
4080 static PyObject *__pyx_n_s_calculate;
4081 static PyObject *__pyx_n_s_calculate_init;
4082 static PyObject *__pyx_n_s_calculate_phi_python;
4083 static PyObject *__pyx_n_s_calculate_vel_python;
4084 static PyObject *__pyx_n_s_center;
4085 static PyObject *__pyx_n_s_checkedElements;
4086 static PyObject *__pyx_n_s_class;
4087 static PyObject *__pyx_n_s_cline_in_traceback;
4088 static PyObject *__pyx_n_s_coefficients;
4089 static PyObject *__pyx_n_s_comm;
4090 static PyObject *__pyx_n_s_constant;
4091 static PyObject *__pyx_n_s_constantInletVelocity;
4092 static PyObject *__pyx_n_s_constantOutletPressure;
4093 static PyObject *__pyx_n_s_constant_values;
4094 static PyObject *__pyx_kp_s_contiguous_and_direct;
4095 static PyObject *__pyx_kp_s_contiguous_and_indirect;
4096 static PyObject *__pyx_n_s_coords;
4097 static PyObject *__pyx_n_s_coords_relax;
4098 static PyObject *__pyx_n_s_cos;
4099 static PyObject *__pyx_n_s_cppClass_WavesCharacteristics;
4100 static PyObject *__pyx_n_s_cppClass_WavesCharacteristics_2;
4101 static PyObject *__pyx_n_s_cppClass_WavesCharacteristics_3;
4102 static PyObject *__pyx_n_s_cppClass_WavesCharacteristics_4;
4103 static PyObject *__pyx_n_s_cpp_MoveMesh_h;
4104 static PyObject *__pyx_n_s_cpp_MoveMesh_hx;
4105 static PyObject *__pyx_n_s_cpp_MoveMesh_hy;
4106 static PyObject *__pyx_n_s_cpp_MoveMesh_hz;
4107 static PyObject *__pyx_n_s_d;
4108 static PyObject *__pyx_n_s_dInflow;
4109 static PyObject *__pyx_n_s_dd;
4110 static PyObject *__pyx_n_s_dict;
4111 static PyObject *__pyx_n_s_dict_2;
4112 static PyObject *__pyx_n_s_dissipationInflow;
4113 static PyObject *__pyx_n_s_dissipationInflowAir;
4114 static PyObject *__pyx_n_s_dissipationVal;
4115 static PyObject *__pyx_n_s_distance;
4116 static PyObject *__pyx_n_s_doc;
4117 static PyObject *__pyx_n_s_dot;
4118 static PyObject *__pyx_n_s_dragAlpha;
4119 static PyObject *__pyx_n_s_dragBeta;
4120 static PyObject *__pyx_n_s_dtype;
4121 static PyObject *__pyx_n_s_dtype_is_object;
4122 static PyObject *__pyx_n_s_eN;
4123 static PyObject *__pyx_n_s_eOffset;
4124 static PyObject *__pyx_n_s_element;
4125 static PyObject *__pyx_n_s_elementMaps;
4126 static PyObject *__pyx_n_s_elementMaterialTypes;
4127 static PyObject *__pyx_n_s_elementNodesArray;
4128 static PyObject *__pyx_n_s_empty;
4129 static PyObject *__pyx_n_s_encode;
4130 static PyObject *__pyx_n_s_enumerate;
4131 static PyObject *__pyx_n_s_epsFact_porous;
4132 static PyObject *__pyx_n_s_error;
4133 static PyObject *__pyx_n_s_eta;
4134 static PyObject *__pyx_n_s_exp;
4135 static PyObject *__pyx_n_s_extractVelocity;
4136 static PyObject *__pyx_n_s_femSpace;
4137 static PyObject *__pyx_n_s_femSpace_velocity;
4138 static PyObject *__pyx_n_s_findElementContainingCoords;
4139 static PyObject *__pyx_n_s_flags;
4140 static PyObject *__pyx_n_s_format;
4141 static PyObject *__pyx_n_s_fortran;
4142 static PyObject *__pyx_n_u_fortran;
4143 static PyObject *__pyx_n_s_g;
4144 static PyObject *__pyx_n_s_generation;
4145 static PyObject *__pyx_n_s_get;
4146 static PyObject *__pyx_n_s_getFluidKappaLocalCoords;
4147 static PyObject *__pyx_n_s_getFluidVelocityLocalCoords;
4148 static PyObject *__pyx_n_s_getInverseValue;
4149 static PyObject *__pyx_n_s_getKappa;
4150 static PyObject *__pyx_n_s_getLocalElement;
4151 static PyObject *__pyx_n_s_getLocalNearestNode;
4152 static PyObject *__pyx_n_s_getValue;
4153 static PyObject *__pyx_n_s_getVariables;
4154 static PyObject *__pyx_n_s_get_DBC_h;
4155 static PyObject *__pyx_n_s_get_dissipation_dirichlet;
4156 static PyObject *__pyx_n_s_get_inlet_ux_dirichlet;
4157 static PyObject *__pyx_n_s_get_k_dirichlet;
4158 static PyObject *__pyx_n_s_get_u_diffusive;
4159 static PyObject *__pyx_n_s_get_u_dirichlet;
4160 static PyObject *__pyx_n_s_get_v_diffusive;
4161 static PyObject *__pyx_n_s_get_v_dirichlet;
4162 static PyObject *__pyx_n_s_get_w_diffusive;
4163 static PyObject *__pyx_n_s_get_w_dirichlet;
4164 static PyObject *__pyx_n_s_getstate;
4165 static PyObject *__pyx_kp_s_got_differing_extents_in_dimensi;
4166 static PyObject *__pyx_n_s_gradU;
4167 static PyObject *__pyx_n_s_h;
4168 static PyObject *__pyx_kp_s_has_not_been_set_Ignore_if_RANS;
4169 static PyObject *__pyx_n_s_hx;
4170 static PyObject *__pyx_n_s_hy;
4171 static PyObject *__pyx_n_s_hydrostaticPressureOutletWithDep;
4172 static PyObject *__pyx_n_s_hydrostaticPressureOutletWithDep_2;
4173 static PyObject *__pyx_n_s_hydrostaticPressureOutletWithDep_3;
4174 static PyObject *__pyx_n_s_hz;
4175 static PyObject *__pyx_n_s_i;
4176 static PyObject *__pyx_n_s_id;
4177 static PyObject *__pyx_n_s_import;
4178 static PyObject *__pyx_n_s_init;
4179 static PyObject *__pyx_n_s_inlet_dissipation_dirichlet;
4180 static PyObject *__pyx_n_s_inlet_k_dirichlet;
4181 static PyObject *__pyx_n_s_inlet_p_advective;
4182 static PyObject *__pyx_n_s_inlet_phi_dirichlet;
4183 static PyObject *__pyx_n_s_inlet_vof_dirichlet;
4184 static PyObject *__pyx_n_s_items;
4185 static PyObject *__pyx_n_s_itemsize;
4186 static PyObject *__pyx_kp_s_itemsize_0_for_cython_array;
4187 static PyObject *__pyx_n_s_join;
4188 static PyObject *__pyx_n_s_kInflow;
4189 static PyObject *__pyx_n_s_kInflowAir;
4190 static PyObject *__pyx_n_s_kInit;
4191 static PyObject *__pyx_n_s_kVal;
4192 static PyObject *__pyx_n_s_kWall;
4193 static PyObject *__pyx_n_s_kWall___init;
4194 static PyObject *__pyx_n_s_kWall_attachAuxiliaryVariables;
4195 static PyObject *__pyx_n_s_kWall_attachModel;
4196 static PyObject *__pyx_n_s_kWall_calculate;
4197 static PyObject *__pyx_n_s_kWall_calculate_init;
4198 static PyObject *__pyx_n_s_kWall_getFluidKappaLocalCoords;
4199 static PyObject *__pyx_n_s_kWall_getKappa;
4200 static PyObject *__pyx_n_s_kWall_kappaNearWall;
4201 static PyObject *__pyx_n_s_kappa;
4202 static PyObject *__pyx_n_s_kappaNearWall;
4203 static PyObject *__pyx_n_s_kdtree;
4204 static PyObject *__pyx_n_s_ke;
4205 static PyObject *__pyx_n_s_kk;
4206 static PyObject *__pyx_n_s_kw;
4207 static PyObject *__pyx_n_s_last_pos;
4208 static PyObject *__pyx_n_s_last_position;
4209 static PyObject *__pyx_n_s_levelModelList;
4210 static PyObject *__pyx_n_s_local_element;
4211 static PyObject *__pyx_n_s_log;
4212 static PyObject *__pyx_n_s_logEvent;
4213 static PyObject *__pyx_n_s_main;
4214 static PyObject *__pyx_n_s_math;
4215 static PyObject *__pyx_n_s_meanV;
4216 static PyObject *__pyx_n_s_memview;
4217 static PyObject *__pyx_n_s_mesh;
4218 static PyObject *__pyx_n_s_metaclass;
4219 static PyObject *__pyx_n_s_mode;
4220 static PyObject *__pyx_n_s_model;
4221 static PyObject *__pyx_n_s_module;
4222 static PyObject *__pyx_n_s_mpi4py;
4223 static PyObject *__pyx_n_s_mprans_BoundaryConditions;
4224 static PyObject *__pyx_n_s_mwl;
4225 static PyObject *__pyx_n_s_n;
4226 static PyObject *__pyx_n_s_nP;
4227 static PyObject *__pyx_n_s_nSpace_global;
4228 static PyObject *__pyx_n_s_name;
4229 static PyObject *__pyx_n_s_name_2;
4230 static PyObject *__pyx_n_s_nd;
4231 static PyObject *__pyx_n_s_ndim;
4232 static PyObject *__pyx_n_s_nearest_node;
4233 static PyObject *__pyx_n_s_nearest_node_distance;
4234 static PyObject *__pyx_n_s_new;
4235 static PyObject *__pyx_n_s_new_x_0;
4236 static PyObject *__pyx_kp_s_no_default___reduce___due_to_non;
4237 static PyObject *__pyx_n_s_node;
4238 static PyObject *__pyx_n_s_nodeArray;
4239 static PyObject *__pyx_n_s_nodeElementOffsets;
4240 static PyObject *__pyx_n_s_nodeElementsArray;
4241 static PyObject *__pyx_n_s_nodes_kdtree;
4242 static PyObject *__pyx_n_s_np;
4243 static PyObject *__pyx_n_s_nu;
4244 static PyObject *__pyx_n_s_numpy;
4245 static PyObject *__pyx_kp_s_numpy_core_multiarray_failed_to;
4246 static PyObject *__pyx_kp_s_numpy_core_umath_failed_to_impor;
4247 static PyObject *__pyx_n_s_obj;
4248 static PyObject *__pyx_n_s_old_div;
4249 static PyObject *__pyx_n_s_onElement;
4250 static PyObject *__pyx_n_s_orientation;
4251 static PyObject *__pyx_kp_s_oritentation_must_be_set_for_BC;
4252 static PyObject *__pyx_n_s_os;
4253 static PyObject *__pyx_n_s_owning_proc;
4254 static PyObject *__pyx_n_s_p;
4255 static PyObject *__pyx_n_s_pRef;
4256 static PyObject *__pyx_n_s_p_top;
4257 static PyObject *__pyx_n_s_pack;
4258 static PyObject *__pyx_n_s_pad;
4259 static PyObject *__pyx_n_s_past_utils;
4260 static PyObject *__pyx_n_s_patchBoundaryNodes;
4261 static PyObject *__pyx_n_s_ph;
4262 static PyObject *__pyx_n_s_phi;
4263 static PyObject *__pyx_n_s_phi_porous;
4264 static PyObject *__pyx_n_s_phi_top;
4265 static PyObject *__pyx_n_s_pickle;
4266 static PyObject *__pyx_n_s_porosity;
4267 static PyObject *__pyx_n_s_porous;
4268 static PyObject *__pyx_n_s_prepare;
4269 static PyObject *__pyx_n_s_proteus;
4270 static PyObject *__pyx_n_s_proteus_Profiling;
4271 static PyObject *__pyx_n_s_proteus_ctransportCoefficients;
4272 static PyObject *__pyx_kp_s_proteus_mprans_BoundaryCondition;
4273 static PyObject *__pyx_n_s_pyx_PickleError;
4274 static PyObject *__pyx_n_s_pyx_checksum;
4275 static PyObject *__pyx_n_s_pyx_getbuffer;
4276 static PyObject *__pyx_n_s_pyx_result;
4277 static PyObject *__pyx_n_s_pyx_state;
4278 static PyObject *__pyx_n_s_pyx_type;
4279 static PyObject *__pyx_n_s_pyx_unpickle_BC_RANS;
4280 static PyObject *__pyx_n_s_pyx_unpickle_Enum;
4281 static PyObject *__pyx_n_s_pyx_unpickle_RelaxationZoneWav;
4282 static PyObject *__pyx_n_s_pyx_unpickle___cppClass_WavesC;
4283 static PyObject *__pyx_n_s_pyx_vtable;
4284 static PyObject *__pyx_n_s_q;
4285 static PyObject *__pyx_n_s_q_phi;
4286 static PyObject *__pyx_n_s_q_phi_porous;
4287 static PyObject *__pyx_n_s_q_velocity_porous;
4288 static PyObject *__pyx_n_s_qualname;
4289 static PyObject *__pyx_n_s_query;
4290 static PyObject *__pyx_n_s_ramp;
4291 static PyObject *__pyx_n_s_range;
4292 static PyObject *__pyx_n_s_rank;
4293 static PyObject *__pyx_n_s_reduce;
4294 static PyObject *__pyx_n_s_reduce_cython;
4295 static PyObject *__pyx_n_s_reduce_ex;
4296 static PyObject *__pyx_n_s_refLevel;
4297 static PyObject *__pyx_n_s_referenceElement;
4298 static PyObject *__pyx_n_s_relax;
4299 static PyObject *__pyx_n_s_reset;
4300 static PyObject *__pyx_n_s_rho;
4301 static PyObject *__pyx_n_s_rhoDown;
4302 static PyObject *__pyx_n_s_rhoUp;
4303 static PyObject *__pyx_n_s_rot_matrix;
4304 static PyObject *__pyx_n_s_rotation_matrix;
4305 static PyObject *__pyx_kp_u_s;
4306 static PyObject *__pyx_n_s_scipy;
4307 static PyObject *__pyx_n_s_seaLevel;
4308 static PyObject *__pyx_n_s_self;
4309 static PyObject *__pyx_n_s_setAtmosphere;
4310 static PyObject *__pyx_n_s_setChMoveMesh;
4311 static PyObject *__pyx_n_s_setChMoveMesh_locals_lambda;
4312 static PyObject *__pyx_n_s_setConstantBC;
4313 static PyObject *__pyx_n_s_setConstantInletVelocity;
4314 static PyObject *__pyx_n_s_setConstantOutletPressure;
4315 static PyObject *__pyx_n_s_setFixedNodes;
4316 static PyObject *__pyx_n_s_setFreeSlip;
4317 static PyObject *__pyx_n_s_setHydrostaticPressureOutletWith;
4318 static PyObject *__pyx_n_s_setHydrostaticPressureOutletWith_2;
4319 static PyObject *__pyx_n_s_setHydrostaticPressureOutletWith_3;
4320 static PyObject *__pyx_n_s_setHydrostaticPressureOutletWith_4;
4321 static PyObject *__pyx_n_s_setHydrostaticPressureOutletWith_5;
4322 static PyObject *__pyx_n_s_setHydrostaticPressureOutletWith_6;
4323 static PyObject *__pyx_n_s_setHydrostaticPressureOutletWith_7;
4324 static PyObject *__pyx_n_s_setHydrostaticPressureOutletWith_8;
4325 static PyObject *__pyx_n_s_setLinearBC;
4326 static PyObject *__pyx_n_s_setLinearRamp;
4327 static PyObject *__pyx_n_s_setMoveMesh;
4328 static PyObject *__pyx_n_s_setMoveMesh_locals_lambda;
4329 static PyObject *__pyx_n_s_setNoSlip;
4330 static PyObject *__pyx_n_s_setNonMaterial;
4331 static PyObject *__pyx_n_s_setRigidBodyMoveMesh;
4332 static PyObject *__pyx_n_s_setRigidBodyMoveMesh_locals_get;
4333 static PyObject *__pyx_n_s_setRigidBodyMoveMesh_locals_get_2;
4334 static PyObject *__pyx_n_s_setTank;
4335 static PyObject *__pyx_n_s_setTurbulentDirichlet;
4336 static PyObject *__pyx_n_s_setTurbulentZeroGradient;
4337 static PyObject *__pyx_n_s_setTwoPhaseVelocityInlet;
4338 static PyObject *__pyx_n_s_setTwoPhaseVelocityInlet_locals;
4339 static PyObject *__pyx_n_s_setTwoPhaseVelocityInlet_locals_2;
4340 static PyObject *__pyx_n_s_setTwoPhaseVelocityInlet_locals_3;
4341 static PyObject *__pyx_n_s_setTwoPhaseVelocityInlet_locals_4;
4342 static PyObject *__pyx_n_s_setTwoPhaseVelocityInlet_locals_5;
4343 static PyObject *__pyx_n_s_setTwoPhaseVelocityInlet_locals_6;
4344 static PyObject *__pyx_n_s_setTwoPhaseVelocityInlet_locals_7;
4345 static PyObject *__pyx_n_s_setUnsteadyTwoPhaseVelocityInlet;
4346 static PyObject *__pyx_n_s_setUnsteadyTwoPhaseVelocityInlet_2;
4347 static PyObject *__pyx_n_s_setWallFunction;
4348 static PyObject *__pyx_n_s_setWallFunction_locals_lambda;
4349 static PyObject *__pyx_n_s_setYplusNormalDirection;
4350 static PyObject *__pyx_n_s_setstate;
4351 static PyObject *__pyx_n_s_setstate_cython;
4352 static PyObject *__pyx_n_s_shape;
4353 static PyObject *__pyx_n_s_shearStress;
4354 static PyObject *__pyx_n_s_sin;
4355 static PyObject *__pyx_n_s_size;
4356 static PyObject *__pyx_n_s_smoothedHeaviside;
4357 static PyObject *__pyx_n_s_smoothedHeaviside_integral;
4358 static PyObject *__pyx_n_s_smoothing;
4359 static PyObject *__pyx_n_s_spatial;
4360 static PyObject *__pyx_n_s_sqrt;
4361 static PyObject *__pyx_n_s_start;
4362 static PyObject *__pyx_n_s_state;
4363 static PyObject *__pyx_n_s_statem1;
4364 static PyObject *__pyx_n_s_step;
4365 static PyObject *__pyx_n_s_stop;
4366 static PyObject *__pyx_n_s_str;
4367 static PyObject *__pyx_kp_s_strided_and_direct;
4368 static PyObject *__pyx_kp_s_strided_and_direct_or_indirect;
4369 static PyObject *__pyx_kp_s_strided_and_indirect;
4370 static PyObject *__pyx_kp_s_stringsource;
4371 static PyObject *__pyx_n_s_struct;
4372 static PyObject *__pyx_n_s_sum;
4373 static PyObject *__pyx_n_s_super;
4374 static PyObject *__pyx_n_s_sys;
4375 static PyObject *__pyx_n_s_t;
4376 static PyObject *__pyx_n_s_tV;
4377 static PyObject *__pyx_n_s_tanU;
4378 static PyObject *__pyx_n_s_tangentialVelocity;
4379 static PyObject *__pyx_n_s_tau_rho;
4380 static PyObject *__pyx_n_s_test;
4381 static PyObject *__pyx_n_s_timeIntegration;
4382 static PyObject *__pyx_n_s_tompi4py;
4383 static PyObject *__pyx_n_s_tt;
4384 static PyObject *__pyx_n_s_turbModel;
4385 static PyObject *__pyx_n_s_u;
4386 static PyObject *__pyx_n_s_u0;
4387 static PyObject *__pyx_n_s_u1;
4388 static PyObject *__pyx_n_s_u2;
4389 static PyObject *__pyx_n_s_uDir;
4390 static PyObject *__pyx_n_s_uInit;
4391 static PyObject *__pyx_n_s_u_p;
4392 static PyObject *__pyx_kp_s_unable_to_allocate_array_data;
4393 static PyObject *__pyx_kp_s_unable_to_allocate_shape_and_str;
4394 static PyObject *__pyx_n_s_unpack;
4395 static PyObject *__pyx_n_s_update;
4396 static PyObject *__pyx_n_s_use_setstate;
4397 static PyObject *__pyx_n_s_ut;
4398 static PyObject *__pyx_n_s_utAbs;
4399 static PyObject *__pyx_n_s_utStar;
4400 static PyObject *__pyx_n_s_uu;
4401 static PyObject *__pyx_n_s_ux_dirichlet;
4402 static PyObject *__pyx_n_s_v;
4403 static PyObject *__pyx_n_s_velocity_porous;
4404 static PyObject *__pyx_n_s_vert_axis;
4405 static PyObject *__pyx_n_s_vof;
4406 static PyObject *__pyx_n_s_vof_air;
4407 static PyObject *__pyx_n_s_vof_water;
4408 static PyObject *__pyx_n_s_vv;
4409 static PyObject *__pyx_n_s_w;
4410 static PyObject *__pyx_n_s_wall;
4411 static PyObject *__pyx_n_s_water;
4412 static PyObject *__pyx_n_s_waterLevel;
4413 static PyObject *__pyx_n_s_wave;
4414 static PyObject *__pyx_n_s_waves;
4415 static PyObject *__pyx_n_s_wf;
4416 static PyObject *__pyx_n_s_wind_speed;
4417 static PyObject *__pyx_n_s_wt;
4418 static PyObject *__pyx_n_s_ww;
4419 static PyObject *__pyx_n_s_x;
4420 static PyObject *__pyx_n_s_x_0;
4421 static PyObject *__pyx_n_s_xi;
4422 static PyObject *__pyx_n_s_xx;
4423 static PyObject *__pyx_n_s_zeros;
4424 static PyObject *__pyx_n_s_zone_type;
4425 static PyObject *__pyx_n_s_zones;
4426 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS___init__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_shape, PyObject *__pyx_v_name, PyObject *__pyx_v_b_or, PyObject *__pyx_v_b_i, PyObject *__pyx_v_nd); /* proto */
4427 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_2reset(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4428 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_4setNonMaterial(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4429 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_6setTank(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_b_or); /* proto */
4430 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_8setFixedNodes(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4431 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_10setNoSlip(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4432 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12setFreeSlip(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4433 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_14setConstantInletVelocity(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_U, PyObject *__pyx_v_ramp, PyObject *__pyx_v_kk, PyObject *__pyx_v_dd, PyObject *__pyx_v_b_or); /* proto */
4434 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_16setConstantOutletPressure(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_p, PyObject *__pyx_v_rho, PyObject *__pyx_v_g, PyObject *__pyx_v_kk, PyObject *__pyx_v_dd, PyObject *__pyx_v_b_or); /* proto */
4435 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_18setAtmosphere(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_orientation, PyObject *__pyx_v_vof_air, PyObject *__pyx_v_kInflow, PyObject *__pyx_v_dInflow); /* proto */
4436 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_20setRigidBodyMoveMesh_9get_DBC_h_DBC_h(PyObject *__pyx_self, PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4437 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_20setRigidBodyMoveMesh_get_DBC_h(PyObject *__pyx_self, PyObject *__pyx_v_i); /* proto */
4438 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_20setRigidBodyMoveMesh(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_body); /* proto */
4439 static PyObject *__pyx_lambda_funcdef_lambda(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4440 static PyObject *__pyx_lambda_funcdef_lambda1(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4441 static PyObject *__pyx_lambda_funcdef_lambda2(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4442 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_22setChMoveMesh(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_body); /* proto */
4443 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_24setTurbulentDirichlet(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_kVal, PyObject *__pyx_v_dissipationVal); /* proto */
4444 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_26setTurbulentZeroGradient(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4445 static PyObject *__pyx_lambda_funcdef_lambda3(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, PyObject *__pyx_v_n); /* proto */
4446 static PyObject *__pyx_lambda_funcdef_lambda4(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, PyObject *__pyx_v_n); /* proto */
4447 static PyObject *__pyx_lambda_funcdef_lambda5(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, PyObject *__pyx_v_n); /* proto */
4448 static PyObject *__pyx_lambda_funcdef_lambda6(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, PyObject *__pyx_v_n); /* proto */
4449 static PyObject *__pyx_lambda_funcdef_lambda7(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, PyObject *__pyx_v_n); /* proto */
4450 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_28setWallFunction(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_wall, CYTHON_UNUSED PyObject *__pyx_v_shearStress); /* proto */
4451 static PyObject *__pyx_lambda_funcdef_lambda8(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4452 static PyObject *__pyx_lambda_funcdef_lambda9(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4453 static PyObject *__pyx_lambda_funcdef_lambda10(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4454 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_30setMoveMesh(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_last_pos, PyObject *__pyx_v_h, PyObject *__pyx_v_rot_matrix); /* proto */
4455 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_32__cpp_MoveMesh_h(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, __Pyx_memviewslice __pyx_v_x, double __pyx_v_t); /* proto */
4456 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_34__cpp_MoveMesh_hx(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, __Pyx_memviewslice __pyx_v_x, double __pyx_v_t); /* proto */
4457 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_36__cpp_MoveMesh_hy(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, __Pyx_memviewslice __pyx_v_x, double __pyx_v_t); /* proto */
4458 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_38__cpp_MoveMesh_hz(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, __Pyx_memviewslice __pyx_v_x, double __pyx_v_t); /* proto */
4459 static PyObject *__pyx_lambda_funcdef_lambda11(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4460 static PyObject *__pyx_lambda_funcdef_lambda12(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4461 static PyObject *__pyx_lambda_funcdef_lambda13(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4462 static PyObject *__pyx_lambda_funcdef_lambda14(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4463 static PyObject *__pyx_lambda_funcdef_lambda15(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4464 static PyObject *__pyx_lambda_funcdef_lambda16(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4465 static PyObject *__pyx_lambda_funcdef_lambda17(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4466 static PyObject *__pyx_lambda_funcdef_lambda18(PyObject *__pyx_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4467 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_40setUnsteadyTwoPhaseVelocityInlet(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_wave, PyObject *__pyx_v_smoothing, PyObject *__pyx_v_vert_axis, PyObject *__pyx_v_orientation, PyObject *__pyx_v_wind_speed, PyObject *__pyx_v_vof_air, PyObject *__pyx_v_vof_water, PyObject *__pyx_v_kInflow, PyObject *__pyx_v_dInflow); /* proto */
4468 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_24setTwoPhaseVelocityInlet_22get_inlet_ux_dirichlet_ux_dirichlet(PyObject *__pyx_self, PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4469 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_24setTwoPhaseVelocityInlet_get_inlet_ux_dirichlet(PyObject *__pyx_self, PyObject *__pyx_v_i); /* proto */
4470 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_24setTwoPhaseVelocityInlet_2inlet_phi_dirichlet(PyObject *__pyx_self, PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4471 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_24setTwoPhaseVelocityInlet_4inlet_vof_dirichlet(PyObject *__pyx_self, PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4472 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_24setTwoPhaseVelocityInlet_6inlet_p_advective(PyObject *__pyx_self, PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4473 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_24setTwoPhaseVelocityInlet_8inlet_k_dirichlet(PyObject *__pyx_self, PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4474 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_24setTwoPhaseVelocityInlet_10inlet_dissipation_dirichlet(PyObject *__pyx_self, PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4475 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_42setTwoPhaseVelocityInlet(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_U, PyObject *__pyx_v_waterLevel, PyObject *__pyx_v_smoothing, PyObject *__pyx_v_Uwind, PyObject *__pyx_v_vert_axis, PyObject *__pyx_v_air, PyObject *__pyx_v_water, PyObject *__pyx_v_kInflow, PyObject *__pyx_v_dissipationInflow, PyObject *__pyx_v_kInflowAir, PyObject *__pyx_v_dissipationInflowAir); /* proto */
4476 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_37setHydrostaticPressureOutletWithDepth_hydrostaticPressureOutletWithDepth_p_dirichlet(PyObject *__pyx_self, PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4477 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_37setHydrostaticPressureOutletWithDepth_2hydrostaticPressureOutletWithDepth_phi_dirichlet(PyObject *__pyx_self, PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4478 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_37setHydrostaticPressureOutletWithDepth_4hydrostaticPressureOutletWithDepth_vof_dirichlet(PyObject *__pyx_self, PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4479 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_37setHydrostaticPressureOutletWithDepth_6inlet_k_dirichlet(PyObject *__pyx_self, PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4480 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_37setHydrostaticPressureOutletWithDepth_8inlet_dissipation_dirichlet(PyObject *__pyx_self, PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4481 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_37setHydrostaticPressureOutletWithDepth_22get_inlet_ux_dirichlet_ux_dirichlet(PyObject *__pyx_self, PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4482 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_37setHydrostaticPressureOutletWithDepth_10get_inlet_ux_dirichlet(PyObject *__pyx_self, PyObject *__pyx_v_i); /* proto */
4483 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_44setHydrostaticPressureOutletWithDepth(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_seaLevel, PyObject *__pyx_v_rhoUp, PyObject *__pyx_v_rhoDown, PyObject *__pyx_v_g, PyObject *__pyx_v_refLevel, PyObject *__pyx_v_smoothing, PyObject *__pyx_v_orientation, PyObject *__pyx_v_U, PyObject *__pyx_v_Uwind, PyObject *__pyx_v_pRef, PyObject *__pyx_v_vert_axis, PyObject *__pyx_v_air, PyObject *__pyx_v_water, PyObject *__pyx_v_kInflow, PyObject *__pyx_v_dissipationInflow, PyObject *__pyx_v_kInflowAir, PyObject *__pyx_v_dissipationInflowAir); /* proto */
4484 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11p_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4485 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11p_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4486 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11p_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4487 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11u_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4488 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11u_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4489 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11u_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4490 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11v_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4491 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11v_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4492 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11v_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4493 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11w_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4494 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11w_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4495 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11w_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4496 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_13phi_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4497 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_13phi_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4498 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_13phi_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4499 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_13vof_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4500 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_13vof_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4501 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_13vof_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4502 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11k_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4503 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11k_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4504 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11k_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4505 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_21dissipation_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4506 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_21dissipation_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4507 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_21dissipation_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4508 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_20pAddedMass_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4509 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_20pAddedMass_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4510 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_20pAddedMass_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4511 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11p_advective___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4512 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11p_advective_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4513 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11p_advective_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4514 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11u_advective___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4515 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11u_advective_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4516 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11u_advective_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4517 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11v_advective___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4518 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11v_advective_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4519 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11v_advective_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4520 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11w_advective___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4521 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11w_advective_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4522 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11w_advective_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4523 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_13vof_advective___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4524 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_13vof_advective_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4525 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_13vof_advective_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4526 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11k_advective___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4527 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11k_advective_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4528 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11k_advective_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4529 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_21dissipation_advective___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4530 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_21dissipation_advective_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4531 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_21dissipation_advective_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4532 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11u_diffusive___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4533 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11u_diffusive_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4534 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11u_diffusive_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4535 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11v_diffusive___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4536 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11v_diffusive_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4537 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11v_diffusive_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4538 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11w_diffusive___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4539 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11w_diffusive_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4540 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11w_diffusive_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4541 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11k_diffusive___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4542 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11k_diffusive_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4543 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_11k_diffusive_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4544 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_21dissipation_diffusive___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4545 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_21dissipation_diffusive_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4546 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_21dissipation_diffusive_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4547 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12hx_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4548 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12hx_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4549 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12hx_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4550 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12hy_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4551 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12hy_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4552 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12hy_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4553 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12hz_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4554 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12hz_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4555 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12hz_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4556 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_8u_stress___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4557 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_8u_stress_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4558 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_8u_stress_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4559 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_8v_stress___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4560 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_8v_stress_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4561 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_8v_stress_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4562 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_8w_stress___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4563 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_8w_stress_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4564 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_8w_stress_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4565 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12us_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4566 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12us_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4567 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12us_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4568 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12vs_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4569 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12vs_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4570 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12vs_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4571 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12ws_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4572 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12ws_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4573 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12ws_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4574 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_13vos_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4575 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_13vos_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4576 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_13vos_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4577 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12us_advective___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4578 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12us_advective_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4579 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12us_advective_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4580 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12vs_advective___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4581 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12vs_advective_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4582 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12vs_advective_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4583 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12ws_advective___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4584 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12ws_advective_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4585 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12ws_advective_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4586 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_13vos_advective___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4587 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_13vos_advective_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4588 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_13vos_advective_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4589 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12us_diffusive___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4590 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12us_diffusive_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4591 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12us_diffusive_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4592 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12vs_diffusive___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4593 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12vs_diffusive_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4594 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12vs_diffusive_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4595 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12ws_diffusive___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4596 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12ws_diffusive_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4597 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_12ws_diffusive_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4598 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_15pInit_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4599 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_15pInit_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4600 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_15pInit_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4601 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_14pInc_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4602 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_14pInc_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4603 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_14pInc_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4604 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_15pInit_advective___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4605 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_15pInit_advective_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4606 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_15pInit_advective_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4607 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_14pInc_advective___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4608 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_14pInc_advective_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4609 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_14pInc_advective_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4610 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_15pInit_diffusive___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4611 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_15pInit_diffusive_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4612 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_15pInit_diffusive_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4613 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_14pInc_diffusive___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4614 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_14pInc_diffusive_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4615 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_14pInc_diffusive_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4616 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_16clsvof_dirichlet___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4617 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_16clsvof_dirichlet_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4618 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_16clsvof_dirichlet_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4619 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_16clsvof_advective___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4620 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_16clsvof_advective_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4621 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_16clsvof_advective_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4622 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_16clsvof_diffusive___get__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4623 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_16clsvof_diffusive_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4624 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_16clsvof_diffusive_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4625 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_46__reduce_cython__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self); /* proto */
4626 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_7BC_RANS_48__setstate_cython__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
4627 static int __pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone___cinit__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, PyObject *__pyx_v_zone_type, PyObject *__pyx_v_center, PyObject *__pyx_v_orientation, PyObject *__pyx_v_epsFact_porous, PyObject *__pyx_v_waves, PyObject *__pyx_v_shape, PyObject *__pyx_v_wind_speed, PyObject *__pyx_v_dragAlpha, PyObject *__pyx_v_dragBeta, PyObject *__pyx_v_porosity, PyObject *__pyx_v_vert_axis, PyObject *__pyx_v_smoothing, PyObject *__pyx_v_vof_water, PyObject *__pyx_v_vof_air); /* proto */
4628 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_2calculate_init(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self); /* proto */
4629 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_4calculate_phi_python(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, PyObject *__pyx_v_x); /* proto */
4630 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_6calculate_vel_python(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_n); /* proto */
4631 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_5Shape___get__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self); /* proto */
4632 static int __pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_5Shape_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4633 static int __pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_5Shape_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self); /* proto */
4634 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_9zone_type___get__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self); /* proto */
4635 static int __pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_9zone_type_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4636 static int __pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_9zone_type_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self); /* proto */
4637 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_9dragAlpha___get__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self); /* proto */
4638 static int __pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_9dragAlpha_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4639 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_8dragBeta___get__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self); /* proto */
4640 static int __pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_8dragBeta_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4641 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_8porosity___get__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self); /* proto */
4642 static int __pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_8porosity_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4643 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_13epsFact_solid___get__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self); /* proto */
4644 static int __pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_13epsFact_solid_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4645 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_14epsFact_porous___get__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self); /* proto */
4646 static int __pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_14epsFact_porous_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4647 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_9vert_axis___get__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self); /* proto */
4648 static int __pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_9vert_axis_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4649 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_6center___get__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self); /* proto */
4650 static int __pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_6center_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4651 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_11orientation___get__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self); /* proto */
4652 static int __pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_11orientation_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4653 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self); /* proto */
4654 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_14RelaxationZone_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZone *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
4655 static int __pyx_pf_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator___init__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self, PyObject *__pyx_v_zones, PyObject *__pyx_v_nd); /* proto */
4656 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator_2attachModel(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self, PyObject *__pyx_v_model, PyObject *__pyx_v_ar); /* proto */
4657 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator_4attachAuxiliaryVariables(CYTHON_UNUSED struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_avDict); /* proto */
4658 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator_6calculate_init(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self); /* proto */
4659 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator_8calculate(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self); /* proto */
4660 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator_5zones___get__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self); /* proto */
4661 static int __pyx_pf_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator_5zones_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4662 static int __pyx_pf_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator_5zones_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self); /* proto */
4663 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator_5model___get__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self); /* proto */
4664 static int __pyx_pf_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator_5model_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4665 static int __pyx_pf_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator_5model_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self); /* proto */
4666 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator_2ar___get__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self); /* proto */
4667 static int __pyx_pf_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator_2ar_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4668 static int __pyx_pf_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator_2ar_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self); /* proto */
4669 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator_10__reduce_cython__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self); /* proto */
4670 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_27RelaxationZoneWaveGenerator_12__setstate_cython__(struct __pyx_obj_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
4671 static int __pyx_pf_6mprans_18BoundaryConditions_31__cppClass_WavesCharacteristics___init__(struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *__pyx_v_self, PyObject *__pyx_v_waves, PyObject *__pyx_v_vert_axis, PyObject *__pyx_v_wind_speed, PyObject *__pyx_v_b_or, PyObject *__pyx_v_smoothing, PyObject *__pyx_v_vof_water, PyObject *__pyx_v_vof_air); /* proto */
4672 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_31__cppClass_WavesCharacteristics_2WT___get__(struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *__pyx_v_self); /* proto */
4673 static int __pyx_pf_6mprans_18BoundaryConditions_31__cppClass_WavesCharacteristics_2WT_2__set__(struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
4674 static int __pyx_pf_6mprans_18BoundaryConditions_31__cppClass_WavesCharacteristics_2WT_4__del__(struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *__pyx_v_self); /* proto */
4675 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_31__cppClass_WavesCharacteristics_2__reduce_cython__(struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *__pyx_v_self); /* proto */
4676 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_31__cppClass_WavesCharacteristics_4__setstate_cython__(struct __pyx_obj_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
4677 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_turbModel, PyObject *__pyx_v_kWall, PyObject *__pyx_v_Y, PyObject *__pyx_v_Yplus, PyObject *__pyx_v_U0, PyObject *__pyx_v_nu, PyObject *__pyx_v_Cmu, PyObject *__pyx_v_K, PyObject *__pyx_v_B); /* proto */
4678 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_2attachModel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_model, PyObject *__pyx_v_ar); /* proto */
4679 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_4attachAuxiliaryVariables(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_avDict); /* proto */
4680 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_6calculate_init(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
4681 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_8calculate(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
4682 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_10getLocalNearestNode(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_coords, PyObject *__pyx_v_kdtree); /* proto */
4683 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_12getLocalElement(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_femSpace, PyObject *__pyx_v_coords, PyObject *__pyx_v_node); /* proto */
4684 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_14findElementContainingCoords(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_coords); /* proto */
4685 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_16getFluidVelocityLocalCoords(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_xi, PyObject *__pyx_v_element, PyObject *__pyx_v_rank); /* proto */
4686 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_18setYplusNormalDirection(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_x, CYTHON_UNUSED PyObject *__pyx_v_t, PyObject *__pyx_v_n, PyObject *__pyx_v_relax); /* proto */
4687 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_20extractVelocity(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, PyObject *__pyx_v_n); /* proto */
4688 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_22tangentialVelocity(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, PyObject *__pyx_v_n, PyObject *__pyx_v_uInit); /* proto */
4689 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_24getVariables(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t); /* proto */
4690 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_26get_u_dirichlet(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, PyObject *__pyx_v_n); /* proto */
4691 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_28get_v_dirichlet(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, PyObject *__pyx_v_n); /* proto */
4692 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_30get_w_dirichlet(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, PyObject *__pyx_v_n); /* proto */
4693 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_32get_k_dirichlet(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, PyObject *__pyx_v_n); /* proto */
4694 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_34get_dissipation_dirichlet(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, PyObject *__pyx_v_n); /* proto */
4695 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_36get_u_diffusive(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, PyObject *__pyx_v_n); /* proto */
4696 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_38get_v_diffusive(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, PyObject *__pyx_v_n); /* proto */
4697 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_13WallFunctions_40get_w_diffusive(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_x, PyObject *__pyx_v_t, PyObject *__pyx_v_n); /* proto */
4698 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_5kWall___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_Y, PyObject *__pyx_v_Yplus, PyObject *__pyx_v_nu, PyObject *__pyx_v_Cmu); /* proto */
4699 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_5kWall_2attachModel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_model, PyObject *__pyx_v_ar); /* proto */
4700 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_5kWall_4attachAuxiliaryVariables(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_avDict); /* proto */
4701 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_5kWall_6calculate_init(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
4702 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_5kWall_8calculate(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */
4703 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_5kWall_10getFluidKappaLocalCoords(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_xi, PyObject *__pyx_v_element, PyObject *__pyx_v_rank); /* proto */
4704 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_5kWall_12kappaNearWall(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_xi, PyObject *__pyx_v_element, PyObject *__pyx_v_rank, PyObject *__pyx_v_kInit); /* proto */
4705 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_5kWall_14getKappa(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_x, PyObject *__pyx_v_t, PyObject *__pyx_v_xi, PyObject *__pyx_v_element, PyObject *__pyx_v_rank); /* proto */
4706 static PyObject *__pyx_pf_6mprans_18BoundaryConditions___pyx_unpickle_BC_RANS(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
4707 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_2__pyx_unpickle_RelaxationZoneWaveGenerator(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
4708 static PyObject *__pyx_pf_6mprans_18BoundaryConditions_4__pyx_unpickle___cppClass_WavesCharacteristics(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
4709 static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_shape, Py_ssize_t __pyx_v_itemsize, PyObject *__pyx_v_format, PyObject *__pyx_v_mode, int __pyx_v_allocate_buffer); /* proto */
4710 static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__(struct __pyx_array_obj *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */
4711 static void __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(struct __pyx_array_obj *__pyx_v_self); /* proto */
4712 static PyObject *__pyx_pf_15View_dot_MemoryView_5array_7memview___get__(struct __pyx_array_obj *__pyx_v_self); /* proto */
4713 static Py_ssize_t __pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__len__(struct __pyx_array_obj *__pyx_v_self); /* proto */
4714 static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getattr__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_attr); /* proto */
4715 static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__getitem__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item); /* proto */
4716 static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_12__setitem__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value); /* proto */
4717 static PyObject *__pyx_pf___pyx_array___reduce_cython__(CYTHON_UNUSED struct __pyx_array_obj *__pyx_v_self); /* proto */
4718 static PyObject *__pyx_pf___pyx_array_2__setstate_cython__(CYTHON_UNUSED struct __pyx_array_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
4719 static int __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__(struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
4720 static PyObject *__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__(struct __pyx_MemviewEnum_obj *__pyx_v_self); /* proto */
4721 static PyObject *__pyx_pf___pyx_MemviewEnum___reduce_cython__(struct __pyx_MemviewEnum_obj *__pyx_v_self); /* proto */
4722 static PyObject *__pyx_pf___pyx_MemviewEnum_2__setstate_cython__(struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
4723 static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_flags, int __pyx_v_dtype_is_object); /* proto */
4724 static void __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
4725 static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4__getitem__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index); /* proto */
4726 static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_6__setitem__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value); /* proto */
4727 static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbuffer__(struct __pyx_memoryview_obj *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */
4728 static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
4729 static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
4730 static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
4731 static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
4732 static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
4733 static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
4734 static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
4735 static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
4736 static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
4737 static Py_ssize_t __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
4738 static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12__repr__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
4739 static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14__str__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
4740 static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16is_c_contig(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
4741 static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18is_f_contig(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
4742 static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20copy(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
4743 static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22copy_fortran(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
4744 static PyObject *__pyx_pf___pyx_memoryview___reduce_cython__(CYTHON_UNUSED struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
4745 static PyObject *__pyx_pf___pyx_memoryview_2__setstate_cython__(CYTHON_UNUSED struct __pyx_memoryview_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
4746 static void __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__(struct __pyx_memoryviewslice_obj *__pyx_v_self); /* proto */
4747 static PyObject *__pyx_pf_15View_dot_MemoryView_16_memoryviewslice_4base___get__(struct __pyx_memoryviewslice_obj *__pyx_v_self); /* proto */
4748 static PyObject *__pyx_pf___pyx_memoryviewslice___reduce_cython__(CYTHON_UNUSED struct __pyx_memoryviewslice_obj *__pyx_v_self); /* proto */
4749 static PyObject *__pyx_pf___pyx_memoryviewslice_2__setstate_cython__(CYTHON_UNUSED struct __pyx_memoryviewslice_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
4750 static PyObject *__pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
4751 static PyObject *__pyx_tp_new_6mprans_18BoundaryConditions_BC_RANS(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4752 static PyObject *__pyx_tp_new_6mprans_18BoundaryConditions_RelaxationZone(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4753 static PyObject *__pyx_tp_new_6mprans_18BoundaryConditions_RelaxationZoneWaveGenerator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4754 static PyObject *__pyx_tp_new_6mprans_18BoundaryConditions___cppClass_WavesCharacteristics(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4755 static PyObject *__pyx_tp_new_6mprans_18BoundaryConditions___pyx_scope_struct__setRigidBodyMoveMesh(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4756 static PyObject *__pyx_tp_new_6mprans_18BoundaryConditions___pyx_scope_struct_1_get_DBC_h(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4757 static PyObject *__pyx_tp_new_6mprans_18BoundaryConditions___pyx_scope_struct_2_setChMoveMesh(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4758 static PyObject *__pyx_tp_new_6mprans_18BoundaryConditions___pyx_scope_struct_3_setWallFunction(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4759 static PyObject *__pyx_tp_new_6mprans_18BoundaryConditions___pyx_scope_struct_4_setMoveMesh(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4760 static PyObject *__pyx_tp_new_6mprans_18BoundaryConditions___pyx_scope_struct_5_setUnsteadyTwoPhaseVelocityInlet(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4761 static PyObject *__pyx_tp_new_6mprans_18BoundaryConditions___pyx_scope_struct_6_setTwoPhaseVelocityInlet(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4762 static PyObject *__pyx_tp_new_6mprans_18BoundaryConditions___pyx_scope_struct_7_get_inlet_ux_dirichlet(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4763 static PyObject *__pyx_tp_new_6mprans_18BoundaryConditions___pyx_scope_struct_8_setHydrostaticPressureOutletWithDepth(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4764 static PyObject *__pyx_tp_new_6mprans_18BoundaryConditions___pyx_scope_struct_9_get_inlet_ux_dirichlet(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4765 static PyObject *__pyx_tp_new_array(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4766 static PyObject *__pyx_tp_new_Enum(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4767 static PyObject *__pyx_tp_new_memoryview(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4768 static PyObject *__pyx_tp_new__memoryviewslice(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
4769 static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_items = {0, &__pyx_n_s_items, 0, 0, 0};
4770 static PyObject *__pyx_float_0_;
4771 static PyObject *__pyx_float_1_;
4772 static PyObject *__pyx_float_2_;
4773 static PyObject *__pyx_float_0_0;
4774 static PyObject *__pyx_float_0_5;
4775 static PyObject *__pyx_float_1_0;
4776 static PyObject *__pyx_float_0_09;
4777 static PyObject *__pyx_float_0_25;
4778 static PyObject *__pyx_float_0_41;
4779 static PyObject *__pyx_float_5_57;
4780 static PyObject *__pyx_float_1eneg_10;
4781 static PyObject *__pyx_float_1eneg_20;
4782 static PyObject *__pyx_float_1eneg_30;
4783 static PyObject *__pyx_float_11_225;
4784 static PyObject *__pyx_float_1_004eneg_6;
4785 static PyObject *__pyx_float_1_005eneg_6;
4786 static PyObject *__pyx_float_neg_1_;
4787 static PyObject *__pyx_int_0;
4788 static PyObject *__pyx_int_1;
4789 static PyObject *__pyx_int_2;
4790 static PyObject *__pyx_int_3;
4791 static PyObject *__pyx_int_3281892;
4792 static PyObject *__pyx_int_24898426;
4793 static PyObject *__pyx_int_37384334;
4794 static PyObject *__pyx_int_95533784;
4795 static PyObject *__pyx_int_112105877;
4796 static PyObject *__pyx_int_136983863;
4797 static PyObject *__pyx_int_161222453;
4798 static PyObject *__pyx_int_184977713;
4799 static PyObject *__pyx_int_190238252;
4800 static PyObject *__pyx_int_207031348;
4801 static PyObject *__pyx_int_216769129;
4802 static PyObject *__pyx_int_249493883;
4803 static PyObject *__pyx_int_neg_1;
4804 static PyObject *__pyx_k__90;
4805 static PyObject *__pyx_k__91;
4806 static PyObject *__pyx_codeobj_;
4807 static PyObject *__pyx_tuple__10;
4808 static PyObject *__pyx_tuple__12;
4809 static PyObject *__pyx_tuple__14;
4810 static PyObject *__pyx_tuple__17;
4811 static PyObject *__pyx_tuple__18;
4812 static PyObject *__pyx_tuple__19;
4813 static PyObject *__pyx_tuple__23;
4814 static PyObject *__pyx_tuple__24;
4815 static PyObject *__pyx_tuple__25;
4816 static PyObject *__pyx_tuple__26;
4817 static PyObject *__pyx_tuple__27;
4818 static PyObject *__pyx_tuple__28;
4819 static PyObject *__pyx_tuple__30;
4820 static PyObject *__pyx_tuple__31;
4821 static PyObject *__pyx_tuple__32;
4822 static PyObject *__pyx_tuple__38;
4823 static PyObject *__pyx_tuple__39;
4824 static PyObject *__pyx_tuple__40;
4825 static PyObject *__pyx_tuple__41;
4826 static PyObject *__pyx_tuple__42;
4827 static PyObject *__pyx_tuple__43;
4828 static PyObject *__pyx_tuple__44;
4829 static PyObject *__pyx_tuple__45;
4830 static PyObject *__pyx_tuple__46;
4831 static PyObject *__pyx_tuple__48;
4832 static PyObject *__pyx_tuple__50;
4833 static PyObject *__pyx_tuple__52;
4834 static PyObject *__pyx_tuple__54;
4835 static PyObject *__pyx_tuple__55;
4836 static PyObject *__pyx_tuple__57;
4837 static PyObject *__pyx_tuple__58;
4838 static PyObject *__pyx_tuple__60;
4839 static PyObject *__pyx_tuple__61;
4840 static PyObject *__pyx_tuple__63;
4841 static PyObject *__pyx_tuple__64;
4842 static PyObject *__pyx_tuple__66;
4843 static PyObject *__pyx_tuple__67;
4844 static PyObject *__pyx_tuple__69;
4845 static PyObject *__pyx_tuple__71;
4846 static PyObject *__pyx_tuple__73;
4847 static PyObject *__pyx_tuple__74;
4848 static PyObject *__pyx_tuple__76;
4849 static PyObject *__pyx_tuple__77;
4850 static PyObject *__pyx_tuple__79;
4851 static PyObject *__pyx_tuple__80;
4852 static PyObject *__pyx_tuple__82;
4853 static PyObject *__pyx_tuple__83;
4854 static PyObject *__pyx_tuple__85;
4855 static PyObject *__pyx_tuple__86;
4856 static PyObject *__pyx_tuple__96;
4857 static PyObject *__pyx_tuple__98;
4858 static PyObject *__pyx_codeobj__2;
4859 static PyObject *__pyx_codeobj__3;
4860 static PyObject *__pyx_codeobj__4;
4861 static PyObject *__pyx_codeobj__5;
4862 static PyObject *__pyx_codeobj__6;
4863 static PyObject *__pyx_codeobj__7;
4864 static PyObject *__pyx_codeobj__8;
4865 static PyObject *__pyx_codeobj__9;
4866 static PyObject *__pyx_slice__117;
4867 static PyObject *__pyx_slice__159;
4868 static PyObject *__pyx_tuple__138;
4869 static PyObject *__pyx_tuple__140;
4870 static PyObject *__pyx_tuple__142;
4871 static PyObject *__pyx_tuple__143;
4872 static PyObject *__pyx_tuple__144;
4873 static PyObject *__pyx_tuple__145;
4874 static PyObject *__pyx_tuple__146;
4875 static PyObject *__pyx_tuple__147;
4876 static PyObject *__pyx_tuple__148;
4877 static PyObject *__pyx_tuple__149;
4878 static PyObject *__pyx_tuple__150;
4879 static PyObject *__pyx_tuple__151;
4880 static PyObject *__pyx_tuple__152;
4881 static PyObject *__pyx_tuple__153;
4882 static PyObject *__pyx_tuple__154;
4883 static PyObject *__pyx_tuple__155;
4884 static PyObject *__pyx_tuple__156;
4885 static PyObject *__pyx_tuple__157;
4886 static PyObject *__pyx_tuple__158;
4887 static PyObject *__pyx_tuple__160;
4888 static PyObject *__pyx_tuple__161;
4889 static PyObject *__pyx_tuple__162;
4890 static PyObject *__pyx_tuple__164;
4891 static PyObject *__pyx_tuple__170;
4892 static PyObject *__pyx_tuple__171;
4893 static PyObject *__pyx_tuple__172;
4894 static PyObject *__pyx_tuple__173;
4895 static PyObject *__pyx_tuple__174;
4896 static PyObject *__pyx_tuple__175;
4897 static PyObject *__pyx_tuple__176;
4898 static PyObject *__pyx_tuple__177;
4899 static PyObject *__pyx_tuple__178;
4900 static PyObject *__pyx_tuple__179;
4901 static PyObject *__pyx_tuple__180;
4902 static PyObject *__pyx_tuple__181;
4903 static PyObject *__pyx_tuple__182;
4904 static PyObject *__pyx_tuple__183;
4905 static PyObject *__pyx_tuple__184;
4906 static PyObject *__pyx_tuple__185;
4907 static PyObject *__pyx_tuple__186;
4908 static PyObject *__pyx_tuple__187;
4909 static PyObject *__pyx_tuple__188;
4910 static PyObject *__pyx_tuple__189;
4911 static PyObject *__pyx_tuple__190;
4912 static PyObject *__pyx_tuple__191;
4913 static PyObject *__pyx_tuple__192;
4914 static PyObject *__pyx_tuple__193;
4915 static PyObject *__pyx_tuple__194;
4916 static PyObject *__pyx_tuple__195;
4917 static PyObject *__pyx_tuple__196;
4918 static PyObject *__pyx_tuple__197;
4919 static PyObject *__pyx_tuple__198;
4920 static PyObject *__pyx_tuple__199;
4921 static PyObject *__pyx_tuple__200;
4922 static PyObject *__pyx_tuple__201;
4923 static PyObject *__pyx_tuple__202;
4924 static PyObject *__pyx_tuple__203;
4925 static PyObject *__pyx_tuple__204;
4926 static PyObject *__pyx_tuple__205;
4927 static PyObject *__pyx_tuple__206;
4928 static PyObject *__pyx_tuple__207;
4929 static PyObject *__pyx_tuple__208;
4930 static PyObject *__pyx_tuple__209;
4931 static PyObject *__pyx_tuple__210;
4932 static PyObject *__pyx_tuple__211;
4933 static PyObject *__pyx_tuple__212;
4934 static PyObject *__pyx_tuple__213;
4935 static PyObject *__pyx_tuple__214;
4936 static PyObject *__pyx_tuple__215;
4937 static PyObject *__pyx_tuple__216;
4938 static PyObject *__pyx_tuple__217;
4939 static PyObject *__pyx_tuple__218;
4940 static PyObject *__pyx_tuple__219;
4941 static PyObject *__pyx_tuple__220;
4942 static PyObject *__pyx_tuple__221;
4943 static PyObject *__pyx_tuple__222;
4944 static PyObject *__pyx_tuple__223;
4945 static PyObject *__pyx_tuple__224;
4946 static PyObject *__pyx_tuple__225;
4947 static PyObject *__pyx_tuple__226;
4948 static PyObject *__pyx_tuple__227;
4949 static PyObject *__pyx_tuple__228;
4950 static PyObject *__pyx_tuple__229;
4951 static PyObject *__pyx_tuple__230;
4952 static PyObject *__pyx_tuple__231;
4953 static PyObject *__pyx_tuple__232;
4954 static PyObject *__pyx_tuple__233;
4955 static PyObject *__pyx_tuple__234;
4956 static PyObject *__pyx_tuple__235;
4957 static PyObject *__pyx_tuple__236;
4958 static PyObject *__pyx_tuple__237;
4959 static PyObject *__pyx_tuple__238;
4960 static PyObject *__pyx_tuple__239;
4961 static PyObject *__pyx_tuple__240;
4962 static PyObject *__pyx_tuple__241;
4963 static PyObject *__pyx_tuple__242;
4964 static PyObject *__pyx_tuple__243;
4965 static PyObject *__pyx_tuple__244;
4966 static PyObject *__pyx_tuple__245;
4967 static PyObject *__pyx_tuple__246;
4968 static PyObject *__pyx_tuple__247;
4969 static PyObject *__pyx_tuple__248;
4970 static PyObject *__pyx_tuple__249;
4971 static PyObject *__pyx_tuple__250;
4972 static PyObject *__pyx_codeobj__11;
4973 static PyObject *__pyx_codeobj__13;
4974 static PyObject *__pyx_codeobj__15;
4975 static PyObject *__pyx_codeobj__16;
4976 static PyObject *__pyx_codeobj__20;
4977 static PyObject *__pyx_codeobj__21;
4978 static PyObject *__pyx_codeobj__22;
4979 static PyObject *__pyx_codeobj__29;
4980 static PyObject *__pyx_codeobj__33;
4981 static PyObject *__pyx_codeobj__34;
4982 static PyObject *__pyx_codeobj__35;
4983 static PyObject *__pyx_codeobj__36;
4984 static PyObject *__pyx_codeobj__37;
4985 static PyObject *__pyx_codeobj__47;
4986 static PyObject *__pyx_codeobj__49;
4987 static PyObject *__pyx_codeobj__51;
4988 static PyObject *__pyx_codeobj__53;
4989 static PyObject *__pyx_codeobj__56;
4990 static PyObject *__pyx_codeobj__59;
4991 static PyObject *__pyx_codeobj__62;
4992 static PyObject *__pyx_codeobj__65;
4993 static PyObject *__pyx_codeobj__68;
4994 static PyObject *__pyx_codeobj__70;
4995 static PyObject *__pyx_codeobj__72;
4996 static PyObject *__pyx_codeobj__75;
4997 static PyObject *__pyx_codeobj__78;
4998 static PyObject *__pyx_codeobj__81;
4999 static PyObject *__pyx_codeobj__84;
5000 static PyObject *__pyx_codeobj__87;
5001 static PyObject *__pyx_codeobj__88;
5002 static PyObject *__pyx_codeobj__89;
5003 static PyObject *__pyx_codeobj__92;
5004 static PyObject *__pyx_codeobj__93;
5005 static PyObject *__pyx_codeobj__94;
5006 static PyObject *__pyx_codeobj__95;
5007 static PyObject *__pyx_codeobj__97;
5008 static PyObject *__pyx_codeobj__99;
5009 static PyObject *__pyx_codeobj__100;
5010 static PyObject *__pyx_codeobj__101;
5011 static PyObject *__pyx_codeobj__102;
5012 static PyObject *__pyx_codeobj__103;
5013 static PyObject *__pyx_codeobj__104;
5014 static PyObject *__pyx_codeobj__105;
5015 static PyObject *__pyx_codeobj__106;
5016 static PyObject *__pyx_codeobj__107;
5017 static PyObject *__pyx_codeobj__108;
5018 static PyObject *__pyx_codeobj__109;
5019 static PyObject *__pyx_codeobj__110;
5020 static PyObject *__pyx_codeobj__111;
5021 static PyObject *__pyx_codeobj__112;
5022 static PyObject *__pyx_codeobj__113;
5023 static PyObject *__pyx_codeobj__114;
5024 static PyObject *__pyx_codeobj__115;
5025 static PyObject *__pyx_codeobj__116;
5026 static PyObject *__pyx_codeobj__118;
5027 static PyObject *__pyx_codeobj__119;
5028 static PyObject *__pyx_codeobj__120;
5029 static PyObject *__pyx_codeobj__121;
5030 static PyObject *__pyx_codeobj__122;
5031 static PyObject *__pyx_codeobj__123;
5032 static PyObject *__pyx_codeobj__124;
5033 static PyObject *__pyx_codeobj__125;
5034 static PyObject *__pyx_codeobj__126;
5035 static PyObject *__pyx_codeobj__127;
5036 static PyObject *__pyx_codeobj__128;
5037 static PyObject *__pyx_codeobj__129;
5038 static PyObject *__pyx_codeobj__130;
5039 static PyObject *__pyx_codeobj__131;
5040 static PyObject *__pyx_codeobj__132;
5041 static PyObject *__pyx_codeobj__133;
5042 static PyObject *__pyx_codeobj__134;
5043 static PyObject *__pyx_codeobj__135;
5044 static PyObject *__pyx_codeobj__136;
5045 static PyObject *__pyx_codeobj__137;
5046 static PyObject *__pyx_codeobj__139;
5047 static PyObject *__pyx_codeobj__141;
5048 static PyObject *__pyx_codeobj__163;
5049 /* Late includes */
5050 
5051 /* "mprans/BoundaryConditions.py":43
5052  * """
5053  *
5054  * def __init__(self, shape=None, name=None, b_or=None, b_i=0., nd=None): # <<<<<<<<<<<<<<
5055  * super(BC_RANS, self).__init__(shape=shape, name=name, b_or=b_or, b_i=b_i, nd=nd)
5056  * # _dirichlet
5057  */
5058 
5059 /* Python wrapper */
5060 static int __pyx_pw_6mprans_18BoundaryConditions_7BC_RANS_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
5061 static int __pyx_pw_6mprans_18BoundaryConditions_7BC_RANS_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
5062  PyObject *__pyx_v_shape = 0;
5063  PyObject *__pyx_v_name = 0;
5064  PyObject *__pyx_v_b_or = 0;
5065  PyObject *__pyx_v_b_i = 0;
5066  PyObject *__pyx_v_nd = 0;
5067  int __pyx_lineno = 0;
5068  const char *__pyx_filename = NULL;
5069  int __pyx_clineno = 0;
5070  int __pyx_r;
5071  __Pyx_RefNannyDeclarations
5072  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
5073  {
5074  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_shape,&__pyx_n_s_name,&__pyx_n_s_b_or,&__pyx_n_s_b_i,&__pyx_n_s_nd,0};
5075  PyObject* values[5] = {0,0,0,0,0};
5076  values[0] = ((PyObject *)Py_None);
5077  values[1] = ((PyObject *)Py_None);
5078  values[2] = ((PyObject *)Py_None);
5079  values[3] = ((PyObject *)__pyx_float_0_);
5080  values[4] = ((PyObject *)Py_None);
5081  if (unlikely(__pyx_kwds)) {
5082  Py_ssize_t kw_args;
5083  const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
5084  switch (pos_args) {
5085  case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
5086  CYTHON_FALLTHROUGH;
5087  case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
5088  CYTHON_FALLTHROUGH;
5089  case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
5090  CYTHON_FALLTHROUGH;
5091  case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
5092  CYTHON_FALLTHROUGH;
5093  case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
5094  CYTHON_FALLTHROUGH;
5095  case 0: break;
5096  default: goto __pyx_L5_argtuple_error;
5097  }
5098  kw_args = PyDict_Size(__pyx_kwds);
5099  switch (pos_args) {
5100  case 0:
5101  if (kw_args > 0) {
5102  PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_shape);
5103  if (value) { values[0] = value; kw_args--; }
5104  }
5105  CYTHON_FALLTHROUGH;
5106  case 1:
5107  if (kw_args > 0) {
5108  PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_name);
5109  if (value) { values[1] = value; kw_args--; }
5110  }
5111  CYTHON_FALLTHROUGH;
5112  case 2:
5113  if (kw_args > 0) {
5114  PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_b_or);
5115  if (value) { values[2] = value; kw_args--; }
5116  }
5117  CYTHON_FALLTHROUGH;
5118  case 3:
5119  if (kw_args > 0) {
5120  PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_b_i);
5121  if (value) { values[3] = value; kw_args--; }
5122  }
5123  CYTHON_FALLTHROUGH;
5124  case 4:
5125  if (kw_args > 0) {
5126  PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nd);
5127  if (value) { values[4] = value; kw_args--; }
5128  }
5129  }
5130  if (unlikely(kw_args > 0)) {
5131  if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 43, __pyx_L3_error)
5132  }
5133  } else {
5134  switch (PyTuple_GET_SIZE(__pyx_args)) {
5135  case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
5136  CYTHON_FALLTHROUGH;
5137  case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
5138  CYTHON_FALLTHROUGH;
5139  case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
5140  CYTHON_FALLTHROUGH;
5141  case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
5142  CYTHON_FALLTHROUGH;
5143  case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
5144  CYTHON_FALLTHROUGH;
5145  case 0: break;
5146  default: goto __pyx_L5_argtuple_error;
5147  }
5148  }
5149  __pyx_v_shape = values[0];
5150  __pyx_v_name = values[1];
5151  __pyx_v_b_or = values[2];
5152  __pyx_v_b_i = values[3];
5153  __pyx_v_nd = values[4];
5154  }
5155  goto __pyx_L4_argument_unpacking_done;
5156  __pyx_L5_argtuple_error:;
5157  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 43, __pyx_L3_error)
5158  __pyx_L3_error:;
5159  __Pyx_AddTraceback("mprans.BoundaryConditions.BC_RANS.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5160  __Pyx_RefNannyFinishContext();
5161  return -1;
5162  __pyx_L4_argument_unpacking_done:;
5163  __pyx_r = __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS___init__(((struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *)__pyx_v_self), __pyx_v_shape, __pyx_v_name, __pyx_v_b_or, __pyx_v_b_i, __pyx_v_nd);
5164 
5165  /* function exit code */
5166  __Pyx_RefNannyFinishContext();
5167  return __pyx_r;
5168 }
5169 
5170 static int __pyx_pf_6mprans_18BoundaryConditions_7BC_RANS___init__(struct __pyx_obj_6mprans_18BoundaryConditions_BC_RANS *__pyx_v_self, PyObject *__pyx_v_shape, PyObject *__pyx_v_name, PyObject *__pyx_v_b_or, PyObject *__pyx_v_b_i, PyObject *__pyx_v_nd) {
5171  int __pyx_r;
5172  __Pyx_TraceDeclarations
5173  __Pyx_RefNannyDeclarations
5174  PyObject *__pyx_t_1 = NULL;
5175  PyObject *__pyx_t_2 = NULL;
5176  PyObject *__pyx_t_3 = NULL;
5177  int __pyx_lineno = 0;
5178  const char *__pyx_filename = NULL;
5179  int __pyx_clineno = 0;
5180  __Pyx_RefNannySetupContext("__init__", 0);
5181  __Pyx_TraceCall("__init__", __pyx_f[0], 43, 0, __PYX_ERR(0, 43, __pyx_L1_error));
5182 
5183  /* "mprans/BoundaryConditions.py":44
5184  *
5185  * def __init__(self, shape=None, name=None, b_or=None, b_i=0., nd=None):
5186  * super(BC_RANS, self).__init__(shape=shape, name=name, b_or=b_or, b_i=b_i, nd=nd) # <<<<<<<<<<<<<<
5187  * # _dirichlet
5188  * self.p_dirichlet = BoundaryCondition() # pressure
5189  */
5190  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error)
5191  __Pyx_GOTREF(__pyx_t_1);
5192  __Pyx_INCREF(((PyObject *)__pyx_ptype_6mprans_18BoundaryConditions_BC_RANS));
5193  __Pyx_GIVEREF(((PyObject *)__pyx_ptype_6mprans_18BoundaryConditions_BC_RANS));
5194  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_ptype_6mprans_18BoundaryConditions_BC_RANS));
5195  __Pyx_INCREF(((PyObject *)__pyx_v_self));
5196  __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
5197  PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
5198  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error)
5199  __Pyx_GOTREF(__pyx_t_2);
5200  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5201  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error)
5202  __Pyx_GOTREF(__pyx_t_1);
5203  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5204  __pyx_t_2 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error)
5205  __Pyx_GOTREF(__pyx_t_2);
5206  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_shape, __pyx_v_shape) < 0) __PYX_ERR(0, 44, __pyx_L1_error)
5207  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_name, __pyx_v_name) < 0) __PYX_ERR(0, 44, __pyx_L1_error)
5208  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_b_or, __pyx_v_b_or) < 0) __PYX_ERR(0, 44, __pyx_L1_error)
5209  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_b_i, __pyx_v_b_i) < 0) __PYX_ERR(0, 44, __pyx_L1_error)
5210  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_nd, __pyx_v_nd) < 0) __PYX_ERR(0, 44, __pyx_L1_error)
5211  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44, __pyx_L1_error)
5212  __Pyx_GOTREF(__pyx_t_3);
5213  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5214  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5215  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5216 
5217  /* "mprans/BoundaryConditions.py":46
5218  * super(BC_RANS, self).__init__(shape=shape, name=name, b_or=b_or, b_i=b_i, nd=nd)
5219  * # _dirichlet
5220  * self.p_dirichlet = BoundaryCondition() # pressure # <<<<<<<<<<<<<<
5221  * self.u_dirichlet = BoundaryCondition() # velocity u
5222  * self.v_dirichlet = BoundaryCondition() # velocity v
5223  */
5224  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46, __pyx_L1_error)
5225  __Pyx_GOTREF(__pyx_t_3);
5226  __Pyx_GIVEREF(__pyx_t_3);
5227  __Pyx_GOTREF(__pyx_v_self->p_dirichlet);
5228  __Pyx_DECREF(((PyObject *)__pyx_v_self->p_dirichlet));
5229  __pyx_v_self->p_dirichlet = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5230  __pyx_t_3 = 0;
5231 
5232  /* "mprans/BoundaryConditions.py":47
5233  * # _dirichlet
5234  * self.p_dirichlet = BoundaryCondition() # pressure
5235  * self.u_dirichlet = BoundaryCondition() # velocity u # <<<<<<<<<<<<<<
5236  * self.v_dirichlet = BoundaryCondition() # velocity v
5237  * self.w_dirichlet = BoundaryCondition() # velocity w
5238  */
5239  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47, __pyx_L1_error)
5240  __Pyx_GOTREF(__pyx_t_3);
5241  __Pyx_GIVEREF(__pyx_t_3);
5242  __Pyx_GOTREF(__pyx_v_self->u_dirichlet);
5243  __Pyx_DECREF(((PyObject *)__pyx_v_self->u_dirichlet));
5244  __pyx_v_self->u_dirichlet = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5245  __pyx_t_3 = 0;
5246 
5247  /* "mprans/BoundaryConditions.py":48
5248  * self.p_dirichlet = BoundaryCondition() # pressure
5249  * self.u_dirichlet = BoundaryCondition() # velocity u
5250  * self.v_dirichlet = BoundaryCondition() # velocity v # <<<<<<<<<<<<<<
5251  * self.w_dirichlet = BoundaryCondition() # velocity w
5252  * self.phi_dirichlet = BoundaryCondition() # phi
5253  */
5254  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 48, __pyx_L1_error)
5255  __Pyx_GOTREF(__pyx_t_3);
5256  __Pyx_GIVEREF(__pyx_t_3);
5257  __Pyx_GOTREF(__pyx_v_self->v_dirichlet);
5258  __Pyx_DECREF(((PyObject *)__pyx_v_self->v_dirichlet));
5259  __pyx_v_self->v_dirichlet = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5260  __pyx_t_3 = 0;
5261 
5262  /* "mprans/BoundaryConditions.py":49
5263  * self.u_dirichlet = BoundaryCondition() # velocity u
5264  * self.v_dirichlet = BoundaryCondition() # velocity v
5265  * self.w_dirichlet = BoundaryCondition() # velocity w # <<<<<<<<<<<<<<
5266  * self.phi_dirichlet = BoundaryCondition() # phi
5267  * self.vof_dirichlet = BoundaryCondition() # VOF
5268  */
5269  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 49, __pyx_L1_error)
5270  __Pyx_GOTREF(__pyx_t_3);
5271  __Pyx_GIVEREF(__pyx_t_3);
5272  __Pyx_GOTREF(__pyx_v_self->w_dirichlet);
5273  __Pyx_DECREF(((PyObject *)__pyx_v_self->w_dirichlet));
5274  __pyx_v_self->w_dirichlet = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5275  __pyx_t_3 = 0;
5276 
5277  /* "mprans/BoundaryConditions.py":50
5278  * self.v_dirichlet = BoundaryCondition() # velocity v
5279  * self.w_dirichlet = BoundaryCondition() # velocity w
5280  * self.phi_dirichlet = BoundaryCondition() # phi # <<<<<<<<<<<<<<
5281  * self.vof_dirichlet = BoundaryCondition() # VOF
5282  * self.k_dirichlet = BoundaryCondition() # kappa
5283  */
5284  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error)
5285  __Pyx_GOTREF(__pyx_t_3);
5286  __Pyx_GIVEREF(__pyx_t_3);
5287  __Pyx_GOTREF(__pyx_v_self->phi_dirichlet);
5288  __Pyx_DECREF(((PyObject *)__pyx_v_self->phi_dirichlet));
5289  __pyx_v_self->phi_dirichlet = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5290  __pyx_t_3 = 0;
5291 
5292  /* "mprans/BoundaryConditions.py":51
5293  * self.w_dirichlet = BoundaryCondition() # velocity w
5294  * self.phi_dirichlet = BoundaryCondition() # phi
5295  * self.vof_dirichlet = BoundaryCondition() # VOF # <<<<<<<<<<<<<<
5296  * self.k_dirichlet = BoundaryCondition() # kappa
5297  * self.dissipation_dirichlet = BoundaryCondition() # dissipation
5298  */
5299  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 51, __pyx_L1_error)
5300  __Pyx_GOTREF(__pyx_t_3);
5301  __Pyx_GIVEREF(__pyx_t_3);
5302  __Pyx_GOTREF(__pyx_v_self->vof_dirichlet);
5303  __Pyx_DECREF(((PyObject *)__pyx_v_self->vof_dirichlet));
5304  __pyx_v_self->vof_dirichlet = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5305  __pyx_t_3 = 0;
5306 
5307  /* "mprans/BoundaryConditions.py":52
5308  * self.phi_dirichlet = BoundaryCondition() # phi
5309  * self.vof_dirichlet = BoundaryCondition() # VOF
5310  * self.k_dirichlet = BoundaryCondition() # kappa # <<<<<<<<<<<<<<
5311  * self.dissipation_dirichlet = BoundaryCondition() # dissipation
5312  * self.pAddedMass_dirichlet = BoundaryCondition()
5313  */
5314  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 52, __pyx_L1_error)
5315  __Pyx_GOTREF(__pyx_t_3);
5316  __Pyx_GIVEREF(__pyx_t_3);
5317  __Pyx_GOTREF(__pyx_v_self->k_dirichlet);
5318  __Pyx_DECREF(((PyObject *)__pyx_v_self->k_dirichlet));
5319  __pyx_v_self->k_dirichlet = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5320  __pyx_t_3 = 0;
5321 
5322  /* "mprans/BoundaryConditions.py":53
5323  * self.vof_dirichlet = BoundaryCondition() # VOF
5324  * self.k_dirichlet = BoundaryCondition() # kappa
5325  * self.dissipation_dirichlet = BoundaryCondition() # dissipation # <<<<<<<<<<<<<<
5326  * self.pAddedMass_dirichlet = BoundaryCondition()
5327  * # _advective
5328  */
5329  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 53, __pyx_L1_error)
5330  __Pyx_GOTREF(__pyx_t_3);
5331  __Pyx_GIVEREF(__pyx_t_3);
5332  __Pyx_GOTREF(__pyx_v_self->dissipation_dirichlet);
5333  __Pyx_DECREF(((PyObject *)__pyx_v_self->dissipation_dirichlet));
5334  __pyx_v_self->dissipation_dirichlet = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5335  __pyx_t_3 = 0;
5336 
5337  /* "mprans/BoundaryConditions.py":54
5338  * self.k_dirichlet = BoundaryCondition() # kappa
5339  * self.dissipation_dirichlet = BoundaryCondition() # dissipation
5340  * self.pAddedMass_dirichlet = BoundaryCondition() # <<<<<<<<<<<<<<
5341  * # _advective
5342  * self.p_advective = BoundaryCondition()
5343  */
5344  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 54, __pyx_L1_error)
5345  __Pyx_GOTREF(__pyx_t_3);
5346  __Pyx_GIVEREF(__pyx_t_3);
5347  __Pyx_GOTREF(__pyx_v_self->pAddedMass_dirichlet);
5348  __Pyx_DECREF(((PyObject *)__pyx_v_self->pAddedMass_dirichlet));
5349  __pyx_v_self->pAddedMass_dirichlet = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5350  __pyx_t_3 = 0;
5351 
5352  /* "mprans/BoundaryConditions.py":56
5353  * self.pAddedMass_dirichlet = BoundaryCondition()
5354  * # _advective
5355  * self.p_advective = BoundaryCondition() # <<<<<<<<<<<<<<
5356  * self.u_advective = BoundaryCondition()
5357  * self.v_advective = BoundaryCondition()
5358  */
5359  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 56, __pyx_L1_error)
5360  __Pyx_GOTREF(__pyx_t_3);
5361  __Pyx_GIVEREF(__pyx_t_3);
5362  __Pyx_GOTREF(__pyx_v_self->p_advective);
5363  __Pyx_DECREF(((PyObject *)__pyx_v_self->p_advective));
5364  __pyx_v_self->p_advective = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5365  __pyx_t_3 = 0;
5366 
5367  /* "mprans/BoundaryConditions.py":57
5368  * # _advective
5369  * self.p_advective = BoundaryCondition()
5370  * self.u_advective = BoundaryCondition() # <<<<<<<<<<<<<<
5371  * self.v_advective = BoundaryCondition()
5372  * self.w_advective = BoundaryCondition()
5373  */
5374  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 57, __pyx_L1_error)
5375  __Pyx_GOTREF(__pyx_t_3);
5376  __Pyx_GIVEREF(__pyx_t_3);
5377  __Pyx_GOTREF(__pyx_v_self->u_advective);
5378  __Pyx_DECREF(((PyObject *)__pyx_v_self->u_advective));
5379  __pyx_v_self->u_advective = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5380  __pyx_t_3 = 0;
5381 
5382  /* "mprans/BoundaryConditions.py":58
5383  * self.p_advective = BoundaryCondition()
5384  * self.u_advective = BoundaryCondition()
5385  * self.v_advective = BoundaryCondition() # <<<<<<<<<<<<<<
5386  * self.w_advective = BoundaryCondition()
5387  * self.vof_advective = BoundaryCondition()
5388  */
5389  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 58, __pyx_L1_error)
5390  __Pyx_GOTREF(__pyx_t_3);
5391  __Pyx_GIVEREF(__pyx_t_3);
5392  __Pyx_GOTREF(__pyx_v_self->v_advective);
5393  __Pyx_DECREF(((PyObject *)__pyx_v_self->v_advective));
5394  __pyx_v_self->v_advective = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5395  __pyx_t_3 = 0;
5396 
5397  /* "mprans/BoundaryConditions.py":59
5398  * self.u_advective = BoundaryCondition()
5399  * self.v_advective = BoundaryCondition()
5400  * self.w_advective = BoundaryCondition() # <<<<<<<<<<<<<<
5401  * self.vof_advective = BoundaryCondition()
5402  * self.k_advective = BoundaryCondition()
5403  */
5404  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error)
5405  __Pyx_GOTREF(__pyx_t_3);
5406  __Pyx_GIVEREF(__pyx_t_3);
5407  __Pyx_GOTREF(__pyx_v_self->w_advective);
5408  __Pyx_DECREF(((PyObject *)__pyx_v_self->w_advective));
5409  __pyx_v_self->w_advective = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5410  __pyx_t_3 = 0;
5411 
5412  /* "mprans/BoundaryConditions.py":60
5413  * self.v_advective = BoundaryCondition()
5414  * self.w_advective = BoundaryCondition()
5415  * self.vof_advective = BoundaryCondition() # <<<<<<<<<<<<<<
5416  * self.k_advective = BoundaryCondition()
5417  * self.dissipation_advective = BoundaryCondition()
5418  */
5419  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error)
5420  __Pyx_GOTREF(__pyx_t_3);
5421  __Pyx_GIVEREF(__pyx_t_3);
5422  __Pyx_GOTREF(__pyx_v_self->vof_advective);
5423  __Pyx_DECREF(((PyObject *)__pyx_v_self->vof_advective));
5424  __pyx_v_self->vof_advective = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5425  __pyx_t_3 = 0;
5426 
5427  /* "mprans/BoundaryConditions.py":61
5428  * self.w_advective = BoundaryCondition()
5429  * self.vof_advective = BoundaryCondition()
5430  * self.k_advective = BoundaryCondition() # <<<<<<<<<<<<<<
5431  * self.dissipation_advective = BoundaryCondition()
5432  * # _diffusive
5433  */
5434  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 61, __pyx_L1_error)
5435  __Pyx_GOTREF(__pyx_t_3);
5436  __Pyx_GIVEREF(__pyx_t_3);
5437  __Pyx_GOTREF(__pyx_v_self->k_advective);
5438  __Pyx_DECREF(((PyObject *)__pyx_v_self->k_advective));
5439  __pyx_v_self->k_advective = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5440  __pyx_t_3 = 0;
5441 
5442  /* "mprans/BoundaryConditions.py":62
5443  * self.vof_advective = BoundaryCondition()
5444  * self.k_advective = BoundaryCondition()
5445  * self.dissipation_advective = BoundaryCondition() # <<<<<<<<<<<<<<
5446  * # _diffusive
5447  * self.u_diffusive = BoundaryCondition()
5448  */
5449  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 62, __pyx_L1_error)
5450  __Pyx_GOTREF(__pyx_t_3);
5451  __Pyx_GIVEREF(__pyx_t_3);
5452  __Pyx_GOTREF(__pyx_v_self->dissipation_advective);
5453  __Pyx_DECREF(((PyObject *)__pyx_v_self->dissipation_advective));
5454  __pyx_v_self->dissipation_advective = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5455  __pyx_t_3 = 0;
5456 
5457  /* "mprans/BoundaryConditions.py":64
5458  * self.dissipation_advective = BoundaryCondition()
5459  * # _diffusive
5460  * self.u_diffusive = BoundaryCondition() # <<<<<<<<<<<<<<
5461  * self.v_diffusive = BoundaryCondition()
5462  * self.w_diffusive = BoundaryCondition()
5463  */
5464  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 64, __pyx_L1_error)
5465  __Pyx_GOTREF(__pyx_t_3);
5466  __Pyx_GIVEREF(__pyx_t_3);
5467  __Pyx_GOTREF(__pyx_v_self->u_diffusive);
5468  __Pyx_DECREF(((PyObject *)__pyx_v_self->u_diffusive));
5469  __pyx_v_self->u_diffusive = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5470  __pyx_t_3 = 0;
5471 
5472  /* "mprans/BoundaryConditions.py":65
5473  * # _diffusive
5474  * self.u_diffusive = BoundaryCondition()
5475  * self.v_diffusive = BoundaryCondition() # <<<<<<<<<<<<<<
5476  * self.w_diffusive = BoundaryCondition()
5477  * self.k_diffusive = BoundaryCondition()
5478  */
5479  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 65, __pyx_L1_error)
5480  __Pyx_GOTREF(__pyx_t_3);
5481  __Pyx_GIVEREF(__pyx_t_3);
5482  __Pyx_GOTREF(__pyx_v_self->v_diffusive);
5483  __Pyx_DECREF(((PyObject *)__pyx_v_self->v_diffusive));
5484  __pyx_v_self->v_diffusive = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5485  __pyx_t_3 = 0;
5486 
5487  /* "mprans/BoundaryConditions.py":66
5488  * self.u_diffusive = BoundaryCondition()
5489  * self.v_diffusive = BoundaryCondition()
5490  * self.w_diffusive = BoundaryCondition() # <<<<<<<<<<<<<<
5491  * self.k_diffusive = BoundaryCondition()
5492  * self.dissipation_diffusive = BoundaryCondition()
5493  */
5494  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 66, __pyx_L1_error)
5495  __Pyx_GOTREF(__pyx_t_3);
5496  __Pyx_GIVEREF(__pyx_t_3);
5497  __Pyx_GOTREF(__pyx_v_self->w_diffusive);
5498  __Pyx_DECREF(((PyObject *)__pyx_v_self->w_diffusive));
5499  __pyx_v_self->w_diffusive = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5500  __pyx_t_3 = 0;
5501 
5502  /* "mprans/BoundaryConditions.py":67
5503  * self.v_diffusive = BoundaryCondition()
5504  * self.w_diffusive = BoundaryCondition()
5505  * self.k_diffusive = BoundaryCondition() # <<<<<<<<<<<<<<
5506  * self.dissipation_diffusive = BoundaryCondition()
5507  * # moveMesh boundary conditions
5508  */
5509  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 67, __pyx_L1_error)
5510  __Pyx_GOTREF(__pyx_t_3);
5511  __Pyx_GIVEREF(__pyx_t_3);
5512  __Pyx_GOTREF(__pyx_v_self->k_diffusive);
5513  __Pyx_DECREF(((PyObject *)__pyx_v_self->k_diffusive));
5514  __pyx_v_self->k_diffusive = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5515  __pyx_t_3 = 0;
5516 
5517  /* "mprans/BoundaryConditions.py":68
5518  * self.w_diffusive = BoundaryCondition()
5519  * self.k_diffusive = BoundaryCondition()
5520  * self.dissipation_diffusive = BoundaryCondition() # <<<<<<<<<<<<<<
5521  * # moveMesh boundary conditions
5522  * self.hx_dirichlet = BoundaryCondition()
5523  */
5524  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L1_error)
5525  __Pyx_GOTREF(__pyx_t_3);
5526  __Pyx_GIVEREF(__pyx_t_3);
5527  __Pyx_GOTREF(__pyx_v_self->dissipation_diffusive);
5528  __Pyx_DECREF(((PyObject *)__pyx_v_self->dissipation_diffusive));
5529  __pyx_v_self->dissipation_diffusive = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5530  __pyx_t_3 = 0;
5531 
5532  /* "mprans/BoundaryConditions.py":70
5533  * self.dissipation_diffusive = BoundaryCondition()
5534  * # moveMesh boundary conditions
5535  * self.hx_dirichlet = BoundaryCondition() # <<<<<<<<<<<<<<
5536  * self.hy_dirichlet = BoundaryCondition()
5537  * self.hz_dirichlet = BoundaryCondition()
5538  */
5539  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 70, __pyx_L1_error)
5540  __Pyx_GOTREF(__pyx_t_3);
5541  __Pyx_GIVEREF(__pyx_t_3);
5542  __Pyx_GOTREF(__pyx_v_self->hx_dirichlet);
5543  __Pyx_DECREF(((PyObject *)__pyx_v_self->hx_dirichlet));
5544  __pyx_v_self->hx_dirichlet = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5545  __pyx_t_3 = 0;
5546 
5547  /* "mprans/BoundaryConditions.py":71
5548  * # moveMesh boundary conditions
5549  * self.hx_dirichlet = BoundaryCondition()
5550  * self.hy_dirichlet = BoundaryCondition() # <<<<<<<<<<<<<<
5551  * self.hz_dirichlet = BoundaryCondition()
5552  * self.u_stress = BoundaryCondition()
5553  */
5554  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error)
5555  __Pyx_GOTREF(__pyx_t_3);
5556  __Pyx_GIVEREF(__pyx_t_3);
5557  __Pyx_GOTREF(__pyx_v_self->hy_dirichlet);
5558  __Pyx_DECREF(((PyObject *)__pyx_v_self->hy_dirichlet));
5559  __pyx_v_self->hy_dirichlet = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5560  __pyx_t_3 = 0;
5561 
5562  /* "mprans/BoundaryConditions.py":72
5563  * self.hx_dirichlet = BoundaryCondition()
5564  * self.hy_dirichlet = BoundaryCondition()
5565  * self.hz_dirichlet = BoundaryCondition() # <<<<<<<<<<<<<<
5566  * self.u_stress = BoundaryCondition()
5567  * self.v_stress = BoundaryCondition()
5568  */
5569  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 72, __pyx_L1_error)
5570  __Pyx_GOTREF(__pyx_t_3);
5571  __Pyx_GIVEREF(__pyx_t_3);
5572  __Pyx_GOTREF(__pyx_v_self->hz_dirichlet);
5573  __Pyx_DECREF(((PyObject *)__pyx_v_self->hz_dirichlet));
5574  __pyx_v_self->hz_dirichlet = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5575  __pyx_t_3 = 0;
5576 
5577  /* "mprans/BoundaryConditions.py":73
5578  * self.hy_dirichlet = BoundaryCondition()
5579  * self.hz_dirichlet = BoundaryCondition()
5580  * self.u_stress = BoundaryCondition() # <<<<<<<<<<<<<<
5581  * self.v_stress = BoundaryCondition()
5582  * self.w_stress = BoundaryCondition()
5583  */
5584  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 73, __pyx_L1_error)
5585  __Pyx_GOTREF(__pyx_t_3);
5586  __Pyx_GIVEREF(__pyx_t_3);
5587  __Pyx_GOTREF(__pyx_v_self->u_stress);
5588  __Pyx_DECREF(((PyObject *)__pyx_v_self->u_stress));
5589  __pyx_v_self->u_stress = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5590  __pyx_t_3 = 0;
5591 
5592  /* "mprans/BoundaryConditions.py":74
5593  * self.hz_dirichlet = BoundaryCondition()
5594  * self.u_stress = BoundaryCondition()
5595  * self.v_stress = BoundaryCondition() # <<<<<<<<<<<<<<
5596  * self.w_stress = BoundaryCondition()
5597  * self.u_stress.uOfXT = 0.
5598  */
5599  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 74, __pyx_L1_error)
5600  __Pyx_GOTREF(__pyx_t_3);
5601  __Pyx_GIVEREF(__pyx_t_3);
5602  __Pyx_GOTREF(__pyx_v_self->v_stress);
5603  __Pyx_DECREF(((PyObject *)__pyx_v_self->v_stress));
5604  __pyx_v_self->v_stress = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5605  __pyx_t_3 = 0;
5606 
5607  /* "mprans/BoundaryConditions.py":75
5608  * self.u_stress = BoundaryCondition()
5609  * self.v_stress = BoundaryCondition()
5610  * self.w_stress = BoundaryCondition() # <<<<<<<<<<<<<<
5611  * self.u_stress.uOfXT = 0.
5612  * self.v_stress.uOfXT = 0.
5613  */
5614  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_7proteus_18BoundaryConditions_BoundaryCondition)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 75, __pyx_L1_error)
5615  __Pyx_GOTREF(__pyx_t_3);
5616  __Pyx_GIVEREF(__pyx_t_3);
5617  __Pyx_GOTREF(__pyx_v_self->w_stress);
5618  __Pyx_DECREF(((PyObject *)__pyx_v_self->w_stress));
5619  __pyx_v_self->w_stress = ((struct __pyx_obj_7proteus_18BoundaryConditions_BoundaryCondition *)__pyx_t_3);
5620  __pyx_t_3 = 0;
5621 
5622  /* "mprans/BoundaryConditions.py":76
5623  * self.v_stress = BoundaryCondition()
5624  * self.w_stress = BoundaryCondition()
5625  * self.u_stress.uOfXT = 0. # <<<<<<<<<<<<<<
5626  * self.v_stress.uOfXT = 0.
5627  * self.w_stress.uOfXT = 0.
5628  */
5629  __Pyx_INCREF(__pyx_float_0_);
5630  __Pyx_GIVEREF(__pyx_float_0_);
5631  __Pyx_GOTREF(__pyx_v_self->u_stress->uOfXT);
5632  __Pyx_DECREF(__pyx_v_self->u_stress->uOfXT);
5633  __pyx_v_self->u_stress->uOfXT = __pyx_float_0_;
5634 
5635  /* "mprans/BoundaryConditions.py":77
5636  * self.w_stress = BoundaryCondition()
5637  * self.u_stress.uOfXT = 0.
5638  * self.v_stress.uOfXT = 0. # <<<<<<<<<<<<<<
5639  * self.w_stress.uOfXT = 0.
5640  * # sediment solver
5641  */
5642  __Pyx_INCREF(__pyx_float_0_);
5643  __Pyx_GIVEREF(__pyx_float_0_);
5644  __Pyx_GOTREF(__pyx_v_self->v_stress->uOfXT);
5645  __Pyx_DECREF(__pyx_v_self->v_stress->uOfXT);
5646  __pyx_v_self->v_stress->uOfXT = __pyx_float_0_;
5647 
5648  /* "mprans/BoundaryConditions.py":78
5649  * self.u_stress.uOfXT = 0.
5650  * self.v_stress.uOfXT = 0.
5651  * self.w_stress.uOfXT = 0. # <<<<<<<<<<<<<<
5652  * # sediment solver
5653  * self.us_dirichlet = BoundaryCondition() # sediment velocity u
5654  */
5655  __Pyx_INCREF(__pyx_float_0_);
5656  __Pyx_GIVEREF(__pyx_float_0_);
5657  __Pyx_GOTREF(__pyx_v_self->w_stress->uOfXT);
5658  __Pyx_DECREF(__pyx_v_self->w_stress->uOfXT);
5659  __pyx_v_self->w_stress->uOfXT = __pyx_float_0_;
5660 
5661  /* "mprans/BoundaryConditions.py":80
5662  * self.w_stress.uOfXT = 0.<