On Thu, Oct 2, 2008 at 3:12 PM, Nasser Mohieddin Abukhdeir
<[EMAIL PROTECTED]> wrote:
> Just to clarify things, my understanding of the backwards Euler method that
> is implemented now is such that for the initial u' = f(theta*u_new +
> (1-theta)*u_old), so the first iteration of the nonlinear solver should be
> equivalent to an explicit solve, assuming u_new = u_old during the first
> step. Please correct me if I'm wrong.
Let's assume our semi-discrete problem statement is
M du/dt = f(u)
M is the "mass" matrix, f(u) represents the discretized in space part
of the operator. The theta discretization gives:
M (U^{n+1} - U^{n}) / (Delta t) = f (U^{theta})
We define the "residual" vector
F(U^{n+1}) := M (U^{n+1} - U^{n}) /(Delta t) - f (U^{theta})
At each nonlinear iteration, the system to be solved is
F'(U_i) dU = -F(U_i)
for the update dU, where U_i is Newton iterate i and generally, and
the initial guess U_{i=0} = U^{n} is the solution at the prior time
level. The Jacobian is
F'(U_i) = M/(Delta t) - theta*f'(U_i)
When theta=0 (explicit) we're basically just inverting the mass
matrix. When theta>0 the Jacobian is different than the explicit case
even when the initial guess is the solution at the previous time
level, U^{n}, since the matrix
f'(U_0) := df / dU (U^{n}) != 0
in general. This was probably a confusing description but try it for
a simple example to convince yourself the first Newton step is not the
same as an explicit solve.
--
John
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel