Rouben Rostamian

MaplePrimes Activity


These are replies submitted by Rouben Rostamian

@ecterrab I can't tell whether your final remark is a genuine question or a rhetorical flourish but I will take it as a sincere question and provide a complete answer.

The second paragraph of the help page says "Typically, one declares functions by using declare(f(x, y, z)) with the result that f(x, y, z) is displayed as f ...".  In the third paragraph we have: "This scheme also displays all differentiation variables as indices".  The "all differentiation variables" is ambiguous. I read that as referring to the preceding paragraph and thus was misled to assume that it pertains to declared variables. That's all.

 

 


            

 

@Ramakrishnan You have described what we see in a worksheet.  But is that consistent with the documentation?  Is that intended or is it a bug?

@vv I see that behavior in a worksheet but is that consistent with the documentation?  The documentation says that variables specified in declare(...) are displayed differently.  It does not say that the other variables are affected as well.  Is the present behavior intentional?  Is it desirable?

@Earl If the car goes around a level circle of radius R vith a constant speed v, then the balance of the gravitational and centrifugal accelerations implies that

v^2 = 2*g*h*R*(R-r) / w^2

where h, r, and w are the track's parameters as in my earlier worksheet.

It is possible to express the path followed by a car through a differential equation but that is not particularly interesting since you will need to include the force exerted by the car's engine if the goal is to approach a steady-state.  In practice, the driver controls the engine's force and the car's direction, which allows to steer the car over just about any arbitrary path.

@vv Yes, if u0 is continuous, then your formula produces a continuous extension.  Dealing with discontinuous u0 requires more effort.

The solution to the Dirichlet problem provides one answer, whether or not u0 is continuous. However, as you have noted, there is no explicit expression for that solution.

In fact, my post is motivated by the question of obtaining the solution of the Dirichlet problem LU=0 in Fourier series (where L is the Laplacian operator).  The first step in producing the Fourier series is to extend the boundary data u0 as a differentiable function u into the interior, and let w = U - u.  Then w is the solution of the Poisson problem Lw = - Lu with null boundary data.  The latter can be solved in the Fourier series in the usual way.

 

@vv In the "PS" part of my post where I proposed extending the 2D result to 3D, I expected that the detailed assumptions may be inferred from the 2D case.  So yes, the "PS" part taken literally is insufficiently precise.  Let me therefore state the intent fully:

Consider the cube [−1,1]×[−1,1]×[−1,1] and the continuous functions u1, u2, u3, u4, u5, u6 defined on its six faces. Construct a function u(x,y,z) which is continuous in the interior of the cube, and which matches the boundary data.

If the boundary patches are incompatible along the cube's edges, the requirement that u(x,y,z) is continuous in the cube's interior is not met in your proposed construction.

 

@Christopher2222 

applyop(Student[Precalculus][CompleteSquare]@normal, 1, (5))

where (5) is the label of the final statemenet in your worksheet.

@tomleslie 

remove(has, EQI__4, 0=0);

 

@Ramakrishnan Change

v / sqrt(v^+ . v):

to

v / sqrt(v^%T . v):

That should work with older versions of Maple.

@Preben Alsholm Unless I am missing the obvious, there is something wrong with what Maple does with your calculation steps.  To see that, let's give a name to the line that comes after you define L:

K := map(IntegrationTools:-Change,L,cos(2*x)=z);

The entries of L and K should be pairwise equal.  Let's check:

evalf([L[1], K[1]]);  # this gives [0.2898392982,  0.2898392982] which is OK
evalf([L[4], K[4]]);  # this gives [0.2898392982, -0.2898392982] which is WRONG

Vv's assertion that J=0 is still correct, but unless I am mistaken, that does not follow from your calculations.

 

@brian bovril I spent some time this weekend on developing a procedure which serves to extrapolate a square's boundary data into its interior.  You will find the details in this MaplePrimes post.

The construction there assumes the values of the desired function are given on all four edges of the square.  It does not handle the cases, as in this current thread, where the derivatives are specified on some edges.  I believe that the method I have described in the link noted above can be extended to handle derivative data as well but I haven't attempted that.

@brian bovril I can explain that construction, however it is quite ad hoc and not particularly illuminating.  Here is an alternative solution (of course, the question does not have a unique answer) which is both neater and easier to explain.

Consider the Cartesian coordinate system r−z (r is horizontal, z is vertical) and the associated polar coordinates ρ−θ.  The function f(ρ,θ) = cos θ defined on the square [0,1]×[0,1] is 1 along the bottom edge and 0 along the left edge. That's the same as the function σ1(r,z) = r/sqrt(r^2+z^2) in the Cartesian coordinates.  Through translation and reflection, we see that the function σ2(r,z) ≡ σ1(1-r,1-z), defined on the same square, is 1 along the top edge and 0 along the right edge.

The function σ3(r,z) ≡ σ2(r^2,z^2) defined on the larger square [−1,1]×[−1,1] is symmetric with respect to reflection about the coordinate axes, and therefore ∂σ/∂z=0 on the r axis, and  ∂σ/∂r=0 on the z axis.

We observe that the restriction of σ3(r,z) to the fourth quadrant satisfies the desired boundary conditions.  The only trouble is that the original question places the domain in the first quadrant.  We remedy that through a translation and arrive at the final solution σ(r,z) ≡ σ3(r,z−1).  Here are the details in Maple:

restart;

sigma__1 := (r,z) -> r/sqrt(r^2+z^2);

proc (r, z) options operator, arrow; r/sqrt(z^2+r^2) end proc

sigma__2 := unapply(sigma__1(1-r,1-z), [r,z]);

proc (r, z) options operator, arrow; (1-r)/((1-z)^2+(1-r)^2)^(1/2) end proc

sigma__3 := unapply(sigma__2(r^2,z^2), [r,z]);

proc (r, z) options operator, arrow; (-r^2+1)/((-z^2+1)^2+(-r^2+1)^2)^(1/2) end proc

sigma := unapply(sigma__3(r,z-1), [r,z]);

proc (r, z) options operator, arrow; (-r^2+1)/((-(z-1)^2+1)^2+(-r^2+1)^2)^(1/2) end proc

Verify conditions:

sigma(1,z);
simplify(sigma(r,0)) assuming r>0, r<1;
D[1](sigma)(0,z);
D[2](sigma)(r,1);

0

1

0

0

plot3d(sigma(r,z), r=0..1, z=0..1, style=patchcontour);

@ecterrab An excellent job!  As always, I am impressed by your quick response to suggestions made in this forum, and your ever-increasing contributions to Maple.

@rlopez It depends on what one assumes on "r".  Here are two scenarios:

  1. We have w = f(b, phi, r), and g(b, phi, r)=0.  The latter may be solved, in principle, for r and thus give r = G(b, phi).  Then w = f(b, phi, G(b,phi) is a function of two independent variables b and phi.
  2. We have w = f(b, phi) and g(b,phi)=0.  Then latter may be solved, in principle, for phi and thus give phi = G(b).  Then w = f(b, G(b)) is a function of a single variable b.  Alternatively, we may solve g(b,phi)=0 for b and get b=H(phi).  Then w = f(H(phi), phi) is a function of the single variable phi.

In my calculation I followed the first scenario, while in your calculation you follow the second scenario.  The difference is that in the first scenario r is a variable, while in the second scenario it is a constant. As vv commented, the problem is not clearly formulated.

 

@ecterrab I am happy to hear that further work is being done on this and I look forward to seeing and using the resulting product.

First 53 54 55 56 57 58 59 Last Page 55 of 99