Mladen Jurak wrote:

> I wander about the use of "elem_fixed_solution" in
> "EulerSolver::element_residual" method. Fixed solution is
> set to "theta_solution" and therefore during the call to
> "_system.element_time_derivative"  both "elem_fixed_solution"
> and "elem_solution" have the same data.

Right.

> It happens to me
> that in "element_time_derivative"  I need  the solution from the
> preceding time level ("old_elem_solution" in 
> "EulerSolver::element_residual").

May I ask why?

> My question is couldn't "elem_fixed_solution" be set to
> "old_elem_solution" in "EulerSolver::element_residual". Then one
> would have more information while assembling the system.
> I don't see any obstacle, but in the other hand I am not sure that
> I  understand well the concept of fixed solution.

Suppose you've got a system like:

d(M(u))/dt = F(u)

A theta method solve, from previous timestep u_p to next timestep u_n 
via theta interpolant u_t, might look like:

(M(u_n) - M(u_p))/deltat = F(u_t)

And when discretizing in space by taking only the weighted products 
against test functions:

(M(u_n,v) - M(u_p,v))/deltat = F(u_t,v)

So for most people, all F() needs to evaluate is the derivative at u_t, 
not u_p or u_n.

The reason for adding elem_fixed_solution was, when we wanted to do some 
stabilized formulations, we had v = v_c + w(u_f) - the test function was 
now a function v(u) of the solution.  But that u had to be fixed - 
evaluating M(u_n,v(u_n)) - M(u_p,v(u_p)) is inconsistent.  To avoid 
losing second-order accuracy in Crank-Nicholson, the obvious choice for 
EulerSolver was v(u_f) where u_f = u_t.

But while that's the right thing to do for EulerSolver, it sounds like 
it's incompatible with what you want - hence my "why?" question.  The 
right thing to do may be to modify a cloned EulerSolver (like I did with 
Euler2Solver when I wanted trapezoidal time integration), but it's 
impossible to be sure without knowing what you plan to use the old 
solution for.
---
Roy

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to