Hi, I have adapted the navier_system.C example to solve the Euler equations. I have tested it for a sample problem (flow through a channel without disturbances, so that the solution should remain the same for all time steps) without AMR, and things seem to work fine. So, if I initialize the solution vector to U0, it stays at U0 (with some changes down to machine epsilon during the solves). Note that the dU term for call to mass_residual is expected to be 0 (or small epsilons) at all times.
However, when I turn on AMR by setting the max_adaptivesteps to 1, the code crashes. Upon looking into this further, I realized that the call to mass_residual has the elem_solution (implying dU) is actually set to -U0. I looked into euler_solver.C and it seems like solution is set to old_elem_solution - theta_solution. For some reason, old_elem_solution (which should be U0, and was U0 without AMR) is now zero. Printing out the old_elem_solution prints a zero vector. So, somewhere between the first solution of the equations, followed by refinement, and then the next solution, the old_nonlinear_sol seems to being zeroed out. I have not made any changes to libMesh, and feel like have not make any modifications to the time for loop in the example. Interestingly enough, changing the value of max_adaptivesteps to 1 in the navier_system example does not create any problems. I am still trying to figure out the source of this problem, but am curious if someone may have any quick guesses. Thanks, Manav ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb _______________________________________________ Libmesh-users mailing list Libmesh-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-users