* Implementing hybrid explicit/implicit ODE stepper
@ 2009-06-03 14:32 Rhys Ulerich
2009-06-04 13:38 ` Brian Gough
0 siblings, 1 reply; 5+ messages in thread
From: Rhys Ulerich @ 2009-06-03 14:32 UTC (permalink / raw)
To: gsl-discuss
Hi all,
I'm looking into implementing a hybrid explicit, implicit ODE
integrator within the GSL ODE framework.
This one splits the right hand side of u_t = f(u) into an implicit
linear operator L(u) and an explicit nonlinear operator N(u). The
scheme requires L(u) be available in a matrix or matrix-like form.
What's the "right way" to shoehorn this into the gsl_odeiv_system
struct (http://www.gnu.org/software/gsl/manual/html_node/Defining-the-ODE-System.html)
?
L(u) as gsl_odeiv_system.function with N(u) passed within
gsl_odeiv_system.params ? The reverse? Neither?
Thanks,
Rhys
P.S. It's Spalart, Moser, & Rogers 1991 appendix A for anyone interested.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Implementing hybrid explicit/implicit ODE stepper
2009-06-03 14:32 Implementing hybrid explicit/implicit ODE stepper Rhys Ulerich
@ 2009-06-04 13:38 ` Brian Gough
2009-06-04 17:20 ` Tuomo Keskitalo
0 siblings, 1 reply; 5+ messages in thread
From: Brian Gough @ 2009-06-04 13:38 UTC (permalink / raw)
To: Rhys Ulerich; +Cc: gsl-discuss, tuomo.keskitalo
At Wed, 3 Jun 2009 09:31:40 -0500,
Rhys Ulerich wrote:
> What's the "right way" to shoehorn this into the gsl_odeiv_system
> struc? L(u) as gsl_odeiv_system.function with N(u) passed within
> gsl_odeiv_system.params ? The reverse? Neither?
That's a good question, I'm not sure - maybe Tuomo has some
suggestions?
My gut instict would be to create a new class of solver for this but
it would be better if they could all be in one framework of course.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Implementing hybrid explicit/implicit ODE stepper
2009-06-04 13:38 ` Brian Gough
@ 2009-06-04 17:20 ` Tuomo Keskitalo
2009-06-04 17:40 ` Rhys Ulerich
0 siblings, 1 reply; 5+ messages in thread
From: Tuomo Keskitalo @ 2009-06-04 17:20 UTC (permalink / raw)
To: Rhys Ulerich; +Cc: Brian Gough, gsl-discuss
On 06/04/2009 10:18 AM, Brian Gough wrote:
> At Wed, 3 Jun 2009 09:31:40 -0500,
> Rhys Ulerich wrote:
>> What's the "right way" to shoehorn this into the gsl_odeiv_system
>> struc? L(u) as gsl_odeiv_system.function with N(u) passed within
>> gsl_odeiv_system.params ? The reverse? Neither?
>
> That's a good question, I'm not sure - maybe Tuomo has some
> suggestions?
Sorry, your description of the method is not clear to me. Can you send
me the reference as e.g. pdf?
--
Tuomo.Keskitalo@iki.fi
http://iki.fi/tuomo.keskitalo
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Implementing hybrid explicit/implicit ODE stepper
2009-06-04 17:20 ` Tuomo Keskitalo
@ 2009-06-04 17:40 ` Rhys Ulerich
2009-06-04 18:52 ` Tuomo Keskitalo
0 siblings, 1 reply; 5+ messages in thread
From: Rhys Ulerich @ 2009-06-04 17:40 UTC (permalink / raw)
To: Tuomo Keskitalo; +Cc: Brian Gough, gsl-discuss
> Sorry, your description of the method is not clear to me. Can you send me
> the reference as e.g. pdf?
Sure, scanned images (sorry no PDF) of the three page appendix
detailing the method are at
http://users.ices.utexas.edu/~rhys/smr_appendix/page1.jpg
http://users.ices.utexas.edu/~rhys/smr_appendix/page2.jpg
http://users.ices.utexas.edu/~rhys/smr_appendix/page3.jpg
Though the appendix talks about A. Wray's submission to J. Comput.
Phys., that paper was never published.
This integrator tends to get used in DNS of Navier-Stokes since the
memory savings become significant for very large fields.
- Rhys
On Thu, Jun 4, 2009 at 12:21 PM, Tuomo Keskitalo <Tuomo.Keskitalo@iki.fi> wrote:
> On 06/04/2009 10:18 AM, Brian Gough wrote:
>
>> At Wed, 3 Jun 2009 09:31:40 -0500,
>> Rhys Ulerich wrote:
>>>
>>> What's the "right way" to shoehorn this into the gsl_odeiv_system
>>> struc? L(u) as gsl_odeiv_system.function with N(u) passed within
>>> gsl_odeiv_system.params ? The reverse? Neither?
>>
>> That's a good question, I'm not sure - maybe Tuomo has some
>> suggestions?
>
>
> --
> Tuomo.Keskitalo@iki.fi
> http://iki.fi/tuomo.keskitalo
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Implementing hybrid explicit/implicit ODE stepper
2009-06-04 17:40 ` Rhys Ulerich
@ 2009-06-04 18:52 ` Tuomo Keskitalo
0 siblings, 0 replies; 5+ messages in thread
From: Tuomo Keskitalo @ 2009-06-04 18:52 UTC (permalink / raw)
To: Rhys Ulerich; +Cc: Brian Gough, gsl-discuss
On 06/04/2009 08:40 PM, Rhys Ulerich wrote:
> This integrator tends to get used in DNS of Navier-Stokes since the
> memory savings become significant for very large fields.
Ok, now I understand a bit more. I don't think the current GSL
ode-initval is directly suitable for that kind of specialized problem.
The framework does not support separation of f(u) into two components.
You would first have to make changes to gsl_odeiv_system to provide
that, and then modify all the rest accordingly. Might be doable, I don't
know.
Would your application benefit from step size control, or evolution
functionality similar to those in ode-initval? If yes, then you might
try to start from ode-initval and modify it. Otherwise I suggest you
look for how others have designed these kinds of solvers and then create
a new framework suitable for this kind of a problem.
Of course, if you end up implementing only that one stepper, you can use
code snippets from ode-initval for it.
Regards,
Tuomo
--
Tuomo.Keskitalo@iki.fi
http://iki.fi/tuomo.keskitalo
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-06-04 18:52 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-06-03 14:32 Implementing hybrid explicit/implicit ODE stepper Rhys Ulerich
2009-06-04 13:38 ` Brian Gough
2009-06-04 17:20 ` Tuomo Keskitalo
2009-06-04 17:40 ` Rhys Ulerich
2009-06-04 18:52 ` Tuomo Keskitalo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).