Hi Katie,
If you have refinement then you should try SolutionTransfer (which is
covered in several of the tutorial examples, step-15 first of all). If
not can you just save the old solution at the end of the do...while
timestep loop and then use fe_values.get_function_values(old_solution,
old_solution_values)?
If I have misunderstood your question, please clarify!
John
John Chapman
www.maths.dur.ac.uk/~tphj28
On 04/04/11 14:31, Katie Leonard wrote:
Hello everyone,
I am new to Deal.ii and I am having an issue implementing a problem,
which is an extension of step-21. To iterate through time I am
solving the equation (which is analogous to the saturation equation in
step-21):
$\frac{\partial C}{\partial t} + \mathbf{u} \cdot \nabla C = F(C,
\mathbf{u}) + \nabla^2 C$
given $\mathbf{u}$ and $C(0)$. For stability purposes, we solve this
using the method of characteristics i.e.
$\frac{\mathrm{d} C}{\mathrm{d} t} = F(C, \mathbf{u} ) + \nabla^2 C $
on the line
$\frac{\mathrm{d} \mathbf{x} }{\mathrm{d} t} = \mathbf{u}$
and discretising time (with timestep \delta t) gives:
$\frac{C^{j+1} - C^j}{\delta t} = F(C^{j+1}, \mathbf{u}^{j+1} ) +
\nabla^2 C^{j+1} $
on
$\frac{ \mathbf{x}^{j+1} - \mathbf{x}^j }{\delta t} = \mathbf{u}^{j+1}$
So,
$\frac{C^{j+1}(\mathbf{x}^{j+1} ) - C^j ((\delta t) \mathbf{u}^{j+1} +
\mathbf{x}^{j+1}) }{\delta t} = F(C^{j+1}(\mathbf{x}^{j+1} ) ,
\mathbf{u}^{j+1}(\mathbf{x}^{j+1} ) ) + \nabla^2 C^{j+1}
(\mathbf{x}^{j+1} ) $
My problem is that, at each timestep I need to be able to find out the
previous solution for C at the points on the domain $((\delta t)
\mathbf{u}^{j+1} + \mathbf{x}^{j+1})$ to give the solution
C^{j+1}(\mathbf{x}^{j+1} )
Many thanks,
K L
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii