Re: How to deal with such ODE with fortran?



"Arjen Markus" <arjen.markus@xxxxxxxxxx> writes:

Nye schreef:

Hi all, I will try to make myself understood as clearly as possible,
though the problem is a little complicated, and, my English is not very
well.

the ODE has a form like this:

d P(t,k)/ d t = RHS(P,t,k)

what is weird here is that RHS(P,t,k) is a function of the concrete form
of function P(t,x) at certain step t, not merely the value of it.

inf
/
RHS(P,t,k) = | P(t,k*y)F(y) dy
/
0
given the initial conditions: P(t=0,x)=P1(x), RHS(P=P1,t=0,k)=RHS1(k)

when t=tn,
Pn(tn,x) = Pm(tm,x)+(STEPSIZE of t)*RHS(Pm,tm,x)
where m=n-1, the formula above gives the recursive procedure I should
follow in the program.

please take notice of the confusability of k and x, in the output of the
program, I want to get a series of P(t=t_end,k), k = k1,k2,k3....kp...k60, i.e.
a series of points on the output curve of function P(t=t_end, x). That
is to say, I have to an integrate different ODE for each kp.

so far, the problem is that, how to transfer the parameters effectively,
without causing confusion in the recursive procedure. For example, there
is an integration for RHS,

RHs(Pn,tn,k) calls P(tn,x), but the subroutine doing integration only
accept single value func as its parameter, so I should transform P(tn,x)
to P(x) |t=tn, where COMMON block would be used. How to make a common
block available and correct in a recursive procedure, given that the
block would change its value in different period of recursion?

I have thought of a method to crack the integration subroutine to accept
tn as a parameter, but that would destroy its stability, which I don't
prefer to.

any suggestions or comments on the algorithm? I will greatly appreciate
them since I havn't start my code yet....:) thanks

This is known as a integro-differential equation. Have you checked the
available literature for suitable numerical methods?
I am not familiar with this kind of equation, so I am now writing codes
all by myself and I suffer a lot....

Will you please give me some materials on the algorithms and methods for
it?

Thanks

If you want help on your current program, howver, I suggest you show
us at least the structure - the description you gave does not make it
easy to understand what you are after.

I havn't made my codes work yet....debugging, and I am desperate now...

Regards,

Arjen


--

Don't forget your dreamS
.



Relevant Pages

  • Re: How to deal with such ODE with fortran?
    ... I have to an integrate different ODE for each kp. ... without causing confusion in the recursive procedure. ... RHscalls P, but the subroutine doing integration only ... available literature for suitable numerical methods? ...
    (comp.lang.fortran)
  • Re: Runge-Kutta question
    ... point of phase transitions) and, therefore, a numerical solution goes crazy. ... Try regularizing the heat capacity by replacing the jump with a steep, ... Your ODE will then have an analytical ... the integration step to really small values. ...
    (sci.math.num-analysis)
  • Re: How to solve a stiff ODE system?
    ... Unable to meet integration ... The ode system of mine is as follows: ... I still don't quite follow you: how should I switch to a second order ... apply this procedure to my ODE system? ...
    (sci.math)
  • Re: How to solve a stiff ODE system?
    ... Unable to meet integration ... The ode system of mine is as follows: ... the recombination coefficient of bipolar charge. ... apply this procedure to my ODE system? ...
    (sci.math)
  • How to deal with such ODE with fortran?
    ... without causing confusion in the recursive procedure. ... RHscalls P, but the subroutine doing integration only ... where COMMON block would be used. ... I have thought of a method to crack the integration subroutine to accept ...
    (comp.lang.fortran)