Results 1 to 5 of 5

Thread: linear -> quasi-linear -> nonlinear

  1. #1
    Junior Member pazdzioch's Avatar
    Join Date
    Mar 2007

    Question linear -> quasi-linear -> nonlinear

    Hi there

    I would like to learn what are the possibilities of inclusion of some nonlinear corrections to some pdes being solved with PDE2D. In general the problem I solve is "highly nonlinear" (MHD equations in physics) but because of its complexity people tend to linearize it what seems to be a good approximation. Presently I would like to see what is the influence of only one nonlinear effect so the model I plan to use is a quasi-linear one. That means in this case the nonlinearities appear in 8 equations only (8 from 38). My question is following:

    Are there any chances of setting the problem as a quasi-linear in the PDE2D code to? The only distinction I see now is 'LINEAR = .TRUE.' or 'LINEAR = .FALSE.' and that is meant, as I see, for the whole system no matter where the nonlinearities appear.

    I have no idea how to find any solution for this problem Honestly I don't think its possible, but it is always good to ask

    Thank You!

  2. #2
    Notice in subroutine pdes8z (and gb8z) the comments:
    UN8Z(1,I),UN8Z(2,I) hold the (rarely used) values of UI,UIx on
    the previous time step or iteration.

    Thus if you have an equation such as Ut = Uxx + exp(U), normally
    you would just set LINEAR=.FALSE. and solve as a truly nonlinear
    problem, but you could solve as Ut = Uxx + exp(UN8Z(1,1)) and it
    would solve as if it were linear, but with the value of U in exp(U)
    set to the value(s) on the last time step. So I guess this is what
    you mean by solving as a quasilinear problem, isn't it?

    I'm not sure there is much advantage of doing this as opposed to
    solving as a nonlinear problem, in the time-dependent case (such as
    your problem), but it is sometimes useful for highly nonlinear steady-state
    problems, occasionally the "quasi-linear" approach will produce convergence
    where the fully nonlinear approach will not.

  3. #3
    Junior Member pazdzioch's Avatar
    Join Date
    Mar 2007

    I had exactly something like that in mind I have been thinking also about the technique of solving the problem linearly but with updating the matrix each n-th step (in order to cut the problem for pieces I should set NPROB much greater than 1). Could you tell me what might be more convenient? Do you have any idea which method gives more reliable results?

    Thank you very much!

  4. #4
    If you have a linear (time-dependent) problem, where nothing but nonhomogeneous terms are functions of time, you can set NOUPDT=.TRUE. and only one LU decomposition will be done, on the first time step, and the savings in computer time is enormous. If you change to a nonlinear model (or quasi-linear), the matrix will change every step, and you should not set NOUPDT=.TRUE., as you know. However, you can, as I think you also have noticed, break the problem into many parts, with say, NPROB = 10 and set T0=(IPROB-1)*DT0, TF=IPROB*DT0, RESTRT=.TRUE., GRIDID=.TRUE., and, say NSTEPS=100, NOUPDT=.TRUE.. In this case, you will be taking a total of 1000 steps, but updating the matrix only every 100 steps (of size DT0/100), that might be reasonable if the problem is only slightly nonlinear.

    Normally it is dangerous to set NOUPDT=.TRUE. for a nonlinear problem, in fact earlier versions automatically reset NOUPDT to .FALSE. if the user set LINEAR=.FALSE., but that is not done any more, to allow users to do precisely what you are thinking about doing. But be aware that if the matrix is changing rapidly and you are not updating, you could get bad answers, you'll need to rerun with different values of NPROB/NSTEPS to be sure the answers are good.

    I would like to emphasize for the benefit of other readers, that for time-dependent problems, PDE2D users should normally ask for adaptive time step control, and then you will not need to even think about updating frequency of the matrix. This user has a problem which requires a very large amount of computer time, however, and he is trying some more sophisticated approaches to control the CPU time.

  5. #5
    Junior Member pazdzioch's Avatar
    Join Date
    Mar 2007
    Hard work in front of me then Thank you once again!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts