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

Reply via email to