I sent the message below earlier to libmesh-devel, but my message was
pretty vague (apologies for that)... I wanted to follow up with a
concrete test case to see if anyone could help out.
I've attached a slightly modified version of ex11.C: run it once with
"generate_xdr_data=true" to generate data, then again with
"generate_xdr_data=false" to read the data in. When I set
"generate_xdr_data=false", I get the error reported below. (This only
happens with >1 variables in the system.) Any thoughts on what I should
change would be appreciated.
Many thanks,
David
On 09/15/2011 04:44 PM, David Knezevic wrote:
Hi all,
RBEvaluation makes a direct call to write_header and read_header, and
this seems to be causing a problem.
For example, when I modify ex23 so that it has two variables ("u" and
"v") rather than one, I get an error in rb_evaluation.C:1029 when the
system tries to read in a header file before reading the subsequent
sequence of .xdr files. The stack trace is below; the system is
looking for a variable with name "", whereas it should be "u".
The header is written in rb_evaluation.C:
Xdr header_data(file_name.str(), ENCODE);
sys.write_header(header_data, "", false);
and also read in rb_evaluation.C with:
Xdr header_data(file_name.str(), DECODE);
sys.read_header(header_data, "", false);
I was wondering if there's anything obviously wrong with this usage of
read/write_header? These methods appear to be used in a similar manner
in equation_systems.C. In particular, I can't see why the 2-variable
case triggers an error whereas the 1-variable case works fine?
Many thanks,
Dave
-----------------------------------------------------------------------------------------------------------------
ERROR: variable does not exist in this system!
[0] src/systems/system.C, line 1076, compiled Sep 6 2011 at 22:15:39
terminate called after throwing an instance of 'libMesh::LogicError'
what(): Error in libMesh internal logic
Program received signal SIGABRT, Aborted.
0x00007ffff08ccd05 in raise (sig=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) bt
#0 0x00007ffff08ccd05 in raise (sig=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007ffff08d0ab6 in abort () at abort.c:92
#2 0x00007ffff0ce86dd in __gnu_cxx::__verbose_terminate_handler() ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007ffff6e670ef in libMesh::libmesh_terminate_handler () at
src/base/libmesh.C:200
#4 0x00007ffff0ce6926 in ?? () from
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff0ce6953 in std::terminate() () from
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007ffff0ce6a5e in __cxa_throw () from
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7 0x00007ffff76bf96f in libMesh::System::variable_number
(this=0x7ea930, var=...) at src/systems/system.C:1076
#8 0x00007ffff76d2d4f in libMesh::System::read_header (this=0x7ea930,
io=..., version=..., read_header=false,
read_additional_data=true, read_legacy_format=false) at
src/systems/system_io.C:232
#9 0x00007ffff7675450 in
libMesh::RBEvaluation::read_in_basis_functions (this=0x7fffffffd920,
sys=...,
directory_name=..., read_binary_basis_functions=true) at
src/systems/rb_evaluation.C:1029
#10 0x000000000044c09f in main (argc=1, argv=0x7fffffffe668) at
ex23_vector.C:144
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users