The problem with a negative jacobian seems solved. It was indeed a node that
was moved in the wrong way by my code. Now the program iterates two
times but then I get (running in gdb)


EquationSystems
  n_systems()=1
   System "Laplace"
    Type "LinearImplicit"
    Variables="u" 
    Finite Element Types="LAGRANGE" 
    Approximation Orders="FIRST" 
    n_dofs()=715
    n_local_dofs()=715
    n_constrained_dofs()=0
    n_vectors()=1

Beginning Solve 0
System has: 715 degrees of freedom.
Linear solver converged at step: 5000, final residual: 1.1091e-16
  Refining the mesh...
Beginning Solve 1
System has: 1043 degrees of freedom.
Linear solver converged at step: 5000, final residual: 9.00376e-17
  Refining the mesh...
[0] /usr/local/libmesh/include/geom/remote_elem.h, line 91, compiled Oct 11 
2009 at 15:02:42
terminate called after throwing an instance of 'libMesh::LogicError'
  what():  Error in libMesh internal logic

Program received signal SIGABRT, Aborted.
0x00007fff80dcdff6 in __kill ()
(gdb) bt
#0  0x00007fff80dcdff6 in __kill ()
#1  0x00007fff80e6f072 in abort ()
#2  0x00007fff811185d2 in __gnu_cxx::__verbose_terminate_handler ()
#3  0x00007fff81116ae1 in __cxxabiv1::__terminate ()
#4  0x00007fff81116b16 in std::terminate ()
#5  0x00007fff81116bfc in __cxa_throw ()
#6  0x000000010512afa4 in RemoteElem::n_nodes ()
#7  0x000000010510acf4 in DofMap::dof_indices ()
#8  0x000000010510e2d9 in DofMap::add_neighbors_to_send_list ()
#9  0x000000010511122f in DofMap::distribute_dofs ()
#10 0x000000010548509d in EquationSystems::reinit ()
#11 0x0000000101d65d5a in AGATAGeFEM::libMESH::LaplaceProblem::run 
(this=0x1019061a0) at ../../libs/libmesh/LaplaceProblem.cc:554
#12 0x0000000100004e67 in DoFields (deffile=<value temporarily unavailable, due 
to optimizations>, solidfile=<value temporarily unavailable, due to 
optimizations>, OutputBase=0x7fff5fbff6ad "test", gnuplot=false, 
refine=0.90000000000000002, course=0.10000000000000001) at main.cc:454
#13 0x0000000100008afd in operator==<char, std::char_traits<char>, 
std::allocator<char> > [inlined] () at 
/usr/include/c++/4.2.1/bits/basic_string.h:1247
#14 0x0000000100008afd in main (argc=5, argv=0x7fff5fbff510) at main.cc:1249


This I don't understand at all...


 


Joa

On Tue, Oct 13, 2009 at 01:18:49PM -0500, Roy Stogner wrote:
> 
> 
> On Tue, 13 Oct 2009, Joa Ljungvall wrote:
> 
> >As for getting inverted element, this means I've moved a node to the other
> >side of the opposite face of my tet? This could very well be a bug in my
> >code. I can, and will, check that I don't move nodes in an unreasnoble way.
> 
> If you're sticking to first order shape functions, make sure you use
> first order geometric elements as well.  Moving a node past the
> opposite face is the only way to invert a first-order tet, but things
> get more complicated when the mapping function is quadratic.
> ---
> Roy

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to