On Fri, Apr 3, 2009 at 8:45 AM, Nasser Mohieddin Abukhdeir
<[email protected]> wrote:
> Hi:
> I have a PDE system that has a dissipation term which involves time
> derivatives of all of the variables involves, for example, if q1/q2/q3
> are my variables and q1t/q2t/q3t are their partial derivatives in time,
> each PDE has a term:
>
> q1*q1t+q2*q2t+q3*q3t
>
> Is there existing functionality to get access to these time derivatives
> using FEMSystem/AdaptiveTimeSolver similar to the interior_value
> function? Else would something have to be implemented in one of the
> instantiations of AdaptiveTimeSolver?
You've got a nonlinear mass matrix, so you'll need to make
implementations of YourSystem::mass_residual(), where YourSystem is
derived from FEMSystem.
If you want to do a theta method, the tricky bit is you'll probably
want to discretize the term as q3(\theta) * (q3^{n+1} - q3^n)/ Dt
which means you'll have to set DiffSystem::use_fixed_solution = true,
set the DiffContext::fixed_solution_derivative to theta (I think) and
use the FEMContext::fixed_interior_value functions in your
mass_residual() function. Roy could probably explain it better, and
maybe he has an example using all the fixed_* stuff?
--
John
------------------------------------------------------------------------------
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users