geo-fluid-dynamics / phaseflow-dealii

Phaseflow simulates the convection-coupled melting and solidification of phase-change materials.
https://geo-fluid-dynamics.github.io/phaseflow-dealii
MIT License
3 stars 0 forks source link

Bug with strong_boundaries parameter #31

Closed agzimmerman closed 7 years ago

agzimmerman commented 7 years ago

zimmerman@DESKTOP-PAHB3F8:~/build/phaseflow/Debug$ cd tests/zimmerman2016_convection_diffusion.debug/ zimmerman@DESKTOP-PAHB3F8:~/build/phaseflow/Debug/tests/zimmerman2016_convection_diffusion.debug$ gdb ../../phaseflow GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from ../../phaseflow...done. (gdb) catch throw Catchpoint 1 (throw) (gdb) run used_parameters.prm Starting program: /home/zimmerman/build/phaseflow/Debug/phaseflow used_parameters.prm [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7ffff4c50700 (LWP 2247)] [New Thread 0x7ffff4440700 (LWP 2248)] [New Thread 0x7ffff1c30700 (LWP 2249)] [New Thread 0x7fffed420700 (LWP 2250)] [New Thread 0x7fffecc00700 (LWP 2252)] [New Thread 0x7fffed010700 (LWP 2251)]

=========================================== Number of active cells: 64 Number of degrees of freedom: 740

Set time step to deltat = 0.125

Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7f6b458 in std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (gdb) up

1 0x000000000043a49b in _Construct<std::basic_string, std::basic_string<char, std::char_traits, std::allocator > const&> (__p=0x4a1230) at /usr/include/c++/4.8/bits/stl_construct.h:75

75 { ::new(static_cast<void*>(p)) _T1(std::forward<_Args>(args)...); } (gdb) up

2 uninit_copy<__gnu_cxx::normal_iterator<std::basic_string const, std::vector<std::basic_string > >, std::basic_string> (__result=0x4a1230,

__last=<error reading variable: Cannot access memory at address 0x41>, __first=...)
at /usr/include/c++/4.8/bits/stl_uninitialized.h:75

75 std::_Construct(std::addressof(*cur), *__first); (gdb) up

3 uninitialized_copy<__gnu_cxx::normal_iterator<std::basic_string const, std::vector<std::basic_string > >, std::basic_string> (result=, last=..., first=...)

at /usr/include/c++/4.8/bits/stl_uninitialized.h:117

117 __uninit_copy(first, last, __result); (gdb) up

4 uninitialized_copy_a<gnu_cxx::__normal_iterator<std::basic_string const, std::vector<std::basic_string > >, std::basic_string, std::basic_string > (result=, last=..., __first=...)

at /usr/include/c++/4.8/bits/stl_uninitialized.h:258

258 { return std::uninitialized_copy(first, last, __result); } (gdb) up

5 std::vector<std::string, std::allocator >::vector (this=0x7ffffffda520, __x=...)

at /usr/include/c++/4.8/bits/stl_vector.h:316

316 _M_get_Tp_allocator()); (gdb) up

6 0x000000000043a7b2 in Phaseflow::Phaseflow<2>::interpolate_boundary_values (this=this@entry=0x7ffffffdac80,

Python Exception <class 'IndexError'> list index out of range: function=function@entry=0x7ffffffda6f0, boundary_values=std::map with 0 elements) at /mnt/c/Users/Alex/UbuntuShared/phaseflow/source/pf_system.h:390 390 auto mask = this->params.boundary_conditions.strong_masks[b]; (gdb) print ib $1 = 0 (gdb) print this->params.boundary_conditions.strong_boundaries.size() Cannot evaluate function -- may be inlined (gdb) print this->params.boundary_conditions.strong_boundaries $2 = std::vector of length 1, capacity 1 = {2} (gdb) print this->params.boundary_conditions.strong_masks $3 = std::vector of length 1, capacity 1 = {std::vector of length 1, capacity 1 = {"temperature"}} (gdb) print this->params.boundary_conditions.strong_masks[1] Could not find operator[].

agzimmerman commented 7 years ago

I mean to already close this, as of the commit above.