← Back to team overview

dolfin team mailing list archive

Re: Coupled Differential equations

 

On Tue, Feb 19, 2008 at 10:23:32AM -0500, Hatef Monajemi wrote:
> 
> 
> 
> Anders Logg wrote:
> 
> 
> >On Tue, Feb 19, 2008 at 08:03:04AM -0500, Hatef Monajemi wrote:
> >> 
> >> 
> >> On Tue, 2008-02-19 at 09:55 +0100, Anders Logg wrote:
> >> > On Sun, Feb 17, 2008 at 12:13:50AM -0500, Hatef Monajemi wrote:
> >> > > Dear Dolfin Users:
> >> > > I am interested to find out the most efficient way to
> >> > > implement solution of coupled differential equations in Dolfin:
> >> > > 
> >> > >    Class I: a partial differential equation (PDE) coupled with
> >> > >        an ordinary differential equation. 
> >> > >  
> >> > >    Class II: A PDE coupled with one or more PDEs 
> >> > >              
> >> > > 
> >> > > For instance, a wave equation when cast in the state space form, 
> may 
> >> > > belong to Class I. I understand that wave equation has already 
> been 
> >> > > solved using Dolfin. But I am unable to find any documentation in 
> this 
> >> > > regards.
> >> > > Typically, what will be the "*.form" file associated with the wave
> >> > > equation? 
> >> > > Can anyone point me to the right place to find such docs?
> >> > > Thanks in advance.
> >> > > Hatef
> >> > 
> >> > For a demo solving a time-dependent problem, look at
> >> > 
> >> >   src/demo/pde/convection-diffusion/
> >> 
> >> Convection-Diffusion is a first Order pde with respect to time. what I
> >> am interested in is equations such as Wave which are second order with
> >> respect to time and when we cast them in the state space form become a
> >> set of coupled Differential equations. I understand that Wave Equation
> >> has been solved by you and reported as an Example. However, I did not
> >> find any document regarding the *.form File and setting the Variational
> >> form of this Kind of coupled equations.
> >
> >Please resend to dolfin-dev.

DOLFIN does not care (or help you) regarding which method you use to
solve an equation, so you need to construct the method/scheme
yourself.

But basically there are two ways to do this: either do "manual"
time-stepping and write a form for a variational problem to be solved
in each time step (like in the convection-diffusion demo) or you may
throw everything in the right-hand side and call the ODE solvers.

In the latter case, look in src/bench/ode/wave/.

In both cases, you may choose to either rewrite it as a first order
system or keep it as a second-order system (and do some kind of
central differencing).

-- 
Anders


References