MathGroup Archive 2013

[Date Index] [Thread Index] [Author Index]

Search the Archive

Separating space and time functions


When solving certain spacetime PDEs I get a solution F that can be factored as
       
                     F(space,time) = f(space)*g(time)

E.g.,  in 1D space, F(x,y)= (a0+a1*x+a2*x^2)*(b0+b1*t+b2*Log[t]), 
which will be used as one of the test functions below.  Then 
f(x)=a0+a1*x+a2*x^2 and g(t)=b0+b1*t+b2*Log[t].

I wrote the following module to separate g(t):

 SeparateFunctionOfTime[f_,t_]:=Module[{g1,g2,g},
       g1=Simplify[D[f,t]/f]; 
       g2=Simplify[Integrate[g1,t]];
       g=  Simplify[Exp[g2]];
       Return[g]];

ClearAll[x,t,a0,a1,a2,b0,b1,b2];  
f=(a0+a1*x+a2*x^2)*(b0+b1*t+b2*Log[t]);
Print["sep time function: ", SeparateFunctionOfTime[f,t]];

sep time function: b0 + b1 t + b2 Log[t]

(I typed all of the above code directly, looking at a test cell.)
So far this has worked for the problems I have solved so far (I am doing
wave dispersion studies in some advanced micromaterials). Questions:
(1) could this  method fail if Integrate[..] is unable to do the integrand
 f'/f = (Log[f])', and (2) could a more robust method be used then?



  • Prev by Date: Re: Mathematica and Lisp
  • Next by Date: Re: Strange behavior of System Modeler
  • Previous by thread: Re: A bug-looking behavior during integration
  • Next by thread: Re: Compiling numerical iterations