> mu*du/dt - d/dx(k*du/dx) + beta*u = f > 0 < x < 100 > > subject to the following BCs: > > u(x,0) = 20 > q(0) = 0.1 and > T(100) = 0
This is not a complete description of the problem. What are your boundary conditions? Are the functions mu and k always strictly positive? What exactly is your time stepping strategy? > total_laplace_matrix.add(1, mass_matrix_zero); What does this do? > VectorTools::project (dof_handler, constraints, QGauss<dim>(3), > InitialValuesU<dim>(), old_solution_u); Does the result of this look correct? > MatrixTools::apply_boundary_values (boundary_values, > system_matrix, > solution_u, > system_rhs); This function modifies system_matrix, so it may be correct only in the first time step. What happens if you re-generate the system_matrix in each time step (using copy_from and add)? Apart from these comments, there are a million things that can go wrong. Your time step may be too large. You may have forgotten a factor of time_step or theta in one of your formulas. I'm afraid you'll just have to debug things... W. ------------------------------------------------------------------------- Wolfgang Bangerth email: [email protected] www: http://www.math.tamu.edu/~bangerth/ _______________________________________________ dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
