Rouben Rostamian

MaplePrimes Activity

These are replies submitted by Rouben Rostamian

@astroverted My original worksheet works in Maple 2021 and 2022.  It fails in earlier versions.  Here is an updated worksheet that works in Maple 2017 onward.

In this worksheet I have set the grid sizes m and n to small values to speed up the calculations.  Increase the values for greater accuracy (but then you will have to be patient while you wait for the results).


@imparter You're welcome.  I have reported this bug to Maplesoft and I hope that it will be corrected in the next release.


dharr's assertion regarding the boundary conditions is correct.  The paper that you have cited provides four initial/boundary conditions in equations (15) through (18).  But (16) and (18) are not arbitrary; they are derived from (15) and (17) and the PDEs as I will explain in the Answer that I am going to post next.  The paper assumes that's obvious and does not state that fact explicitly.

@romanrieme As acer suggested, you need display(F2(t),F3(t)):

animate(display, [`if`(t < 0, F2(t), display(F1(t), F3(t))), scaling = constrained], t = -1 .. 1, frames = 140);

Alternatively, you may do it as I suggested:

display([animate(F2, [t], t = -1 .. 0), animate([F1, F3], [t], t = 0 .. 1)], insequence)


@mmcdara I use "extrapolation" for that purpose, as in "φ(x,y) extrapolates the boundary data into the rectangle".  I have seen people refer to that as "Dirichlet lift" or just "lift", which is closer to the French "relèvement".

You can expect better feedback in this forum if you upload your worksheet rather than what you have posted.  But just looking at the first few lines of your code, I see that you have strange stuff such as

ibvc:=u(x, 0)=e^(K*x)/(1+exp^(0.5*K*x))^2,v(x, 0)=1/(1+exp^(0.5*K*x));

What is e^(K*x)?   What is exp^(0.5*K*x))?  Think!

@mmcdara Yes, with u(x,0)=0 it's possible to solve the problem in Maple by Fourier series.

Here is the outline of the idea.

We reflect the domain about the line y=0 and thus obtain a rectangle.  We solve Laplace's equation on the rectangle by taking for boundary values on the new edges the negatives of the values of the opposite pages.  Then the solution will be zero automatically along the line y=0 due to symmetry.

A detail to be taken care of is that the rectangle's edges are not parallel to the coordinate axes.  To apply the Fourier series, we rotate the rectangle by 45 degrees to bring its edges into alignment with the coordinate axes.  The PDE does not change since the Laplacian operator is rotationally invariant.

To avoid the rotation step, it would be much easier to rotate the original domain.  That is, instead of the triangle shown in the OP's drawing, we take a triangle formed by the coordinate axes and the line x+y=1 (or ax+by=c for some constants a, b, c).  Then the reflection of the triangle across the hypotenuse will produce a rectangle in which we may apply the standard Fourier series in the straightforward way.

Even then, there is an extra snag that needs to be taken care of.  The Fourier series method requires homogeneous boundary conditions, that is, u=0, along the four edges of the rectangle.  But our boundary data is not zero along the edges.  To take care of that, we introduce a function φ(x,y)  defined over the rectangle so that φ matches the given boundary conditions along the rectangle's edges.  If we let w(x,y) = u(x,y) - φ(x,y),  then w will be zero over the rectangle's edges, and therefore Fourier series may be applied to calculate it.  We note, however, since u satisfies the Laplace's equation, w satisfies the Poisson equation wxx + wyy = −φxxφyy. which may be solved by Fourier series just as easily.

Finally, there remains the question of how one constructs the function φ(x,y).  That is the subject of a topic that I posted here a few years ago.

There is some work involved in implementing the steps outlined above.  I haven't bothered to do the work considering that this approach applies to the very limited case when the domain is a right triangle, the boundary condition on the triangle's hypotenuse is zero, and also the fact that the OP has specified no such boundary condition.  In general such problems are best solved through the method of finite elements which is not available in Maple.  

@Oliveira Sure, you get a Fourier series representation of the solution.  That works on a rectangle but your original question was about solving over a triangle.


@bstuan Let f(x) be your integrand and let m be the minimum value of (x+2)/(2x^3+1) on the interval (1,2). Since f(x) > m/ln(x), the integral of f(x) is more than the integral of m/ln(x) on (1,2). But the integral of m/ln(x) on (1,2) is infinity, and therefore so is the integral of f(x).

Hint: Examine the convergence of the integral of 1/ln(x) over the interval (1,2).  That should be good enough to reach a conclusion about your original problem.

You need to specify a boundary condition along the bottom edge as well.

Maple is good in dealing with symbolic expressions involving scalars.  It can also handle vectors and matrices of explicitly specified sizes and contents.  But it does not have a facility to deal with purely symbolic vectors and matrices which you need in this instance.

I hope that such facilities will be added some time in the future, but I wouldn't expect it soon.

There may be a problem if the running command or proc refers to the previous calculations through their labels.

@Carl Love Oh, okay, and I have no idea regarding the validity of what Maple is showing as solutions.

You refer to an ODE but I see no ODEs in what you have shown.

Why don't you just upload a complete, self-contained worksheet like others do in this forum?  Look for a big fat green arrow in the dialog box where you reply to this request. Click on it to upload your worksheet.

1 2 3 4 5 6 7 Last Page 1 of 83