Rouben Rostamian

MaplePrimes Activity


These are replies submitted by Rouben Rostamian

@acer That's excellent. So it turns out that the solution is not as complicated as it initially seemed, but certainly not obvious, at least to me.  I am going to save this for future use.  Vote up!

The worksheet gives the impression that it was typed when you were half-asleep.  Look over the worksheet again and see if you can fix a large number of obvious errors.  Among other things, you need to make up your mind whether you want a time-dependent solution or a static solution.  Your worksheet shows a mix of the two.

But let me tell you right now that Maple is not equipped to solve the time-dependent plate, so for the time-dependent case you are out of luck.

 

@Carl Love Great!  This one is a keeper.

@Carl Love I have been looking for a way to plot solutions of ODEs with parameters so I was happy to see your clever construction.

However, there seems to be a problem with the "option remember" in the Ndelta proc.  It appears that it lumps all the delta arguments into one.  See the simple example plotting-odes-with-parameters.mw where I am applying your method to solve a much simpler ODE.  Comment out the "option remember" to obtain the correct plot.

I hope that I am making a dumb mistake and that your construction can be used to produce the correct plot.

@pasty When polygonplot3d is called with a matrix as argument, it is expected that the matrix is n×3, where each of the n rows holds the coordinates of a vertex of the polygon.  The documentation says that if the matrix is 3×n and n≠3, then it is automatically transposed into a n×3 matrix.

The case of n=3 (plotting a triangle) requires close attention.  Is it rows or columns that are vertex coordinates?  It is the rows!  That's a consequence of the n≠3 clause noted above.

The moral of the story? Don't rely on authomatic transposition.  Always prrovide vertex coordinates as rows!

 

@ik74 There is no single source that covers everything that you need to know on this subject. You need to combine knowledge from various areas.  Here is a brief summary.

  1.  The product rule for differentiation from calculus.  For any two functions u(x) and v(x) we have
    [u(x) v(x)]' = u'(x) v(x) + u(x) v'(x),
    which we use it in the equivalent form
    u'(x) v(x) = [u(x) v(x)]' - u(x) v'(x),
  2. The summation convention (also known as the Einstein notation) for vectors, tensors, and partial derivatives, is introduced in most books on continuum mechanics.  For instance, A First Course in Continuum Mechanics by Oscar Gonzalez and Andrew Stuart.  According to the summation convention, the dot product of the vectors u and v is written as uvi, where a summation over the repeated index i is implicitly assumed. The gradient of the vector u is a second order tensor expressed as ui,j.. This is the notation I used in my derivation that I posted earlier.
  3. The Divergence Theorem is essential for deriving the weak formulation. If your calculus book does not cover the Divergence Theorem, let me know the name of the book and I will recommend an alternative.
  4. The weak formulation of PDEs is in covered in advanced books on partial differential equations.  For instance, Partial Differential Equations by Evans.
  5. The finite element approximation of the solutions of PDEs is a vast subject. I don't know your educational background so I cannot recommend a good starting point.
  6. A good grounding in the theory of elasticity. Since you are referring to the Navier equation, you probably have a reference for that.

Anyway, getting to where you are aiming for is a long (but rewarding) journey.  You should realize that you cannot skip the intermediate steps and jump to the end.  That's why I recommended beginning with an easier problem and then gradually working your way up. Ask one of your teachers for guidance.

 

@ik74 Here is the calculation of the weak formulation of the problem:

weak-formulation.pdf

As I said before, if you have to ask how to do this, it means that you are not ready to handle such problems yet.  It would be advisable to begin with much more elementary problems and gradually work your way up. This one is quite advanced.

Another thing: Although you said that this is a 3D problem in the space variables, I seriously doubt it.  It looks to me that the PDE is the equation of the vibration of of a 2D plate.

 

 

@ik74 Solving that equation in 3D is a nontrivial task.  Is there a reason that you are interested in that PDE in 3D? Have a look at this paper to see where the difficulties lie.

I am concerned that on the one hand you are asking for help with the weak formulation of the PDE which is a trivial task, and on the other hand you are aiming to implement a finite elements algorithm for the PDE in 3D which is a very nontrivial task.  It's not clear to me where your strengths are.  Perhaps you should begin with the simplest possible problem and then gradually advance to more complex ones.

 

 

@Maria2212 I don't have Maple 13 to try this but I suggest that in the Galerkin proc you insert
eval(%);
just before the "end proc;".  This may change the λ λ λ  to λ3

@Earl Also see Carl's very nice mini-tutorial.

@ Despite appearances, the expressions A and B in your worksheet are different only by a constant.  To see that, change your
simplify(A - B);
to
simplify(A - B) assuming x > 0;
and you will see that the difference is -ln(2)/4.

The "assuming x > 0" is important.  That's because I know, and you know, that x is not negative, but Maple doesn't know that.  It has to be told. With negative x, the expressions involve complex values and things are not so simple anymore.

As to how to use Maple's int() function: You learn in calculus that the antiderivative of a function is determined up to an arbitrary additive constant.  Maple's int() does not include the C.  It expects you to add C as needed.  In your calculations that C is missing.

But note that when we do a definite integral, as in int(f(x), x=a..b), we calculate the result by plugging the upper and lower limits in the antiderivative of f(x), and subtracting.  The constant C gets cancelled in the subtraction, that's why in calculating a definite integral we don't bother with the C.  In my calculation I used such a definite integral, and that's why I did not have to deal with with the C.

 

 

@ As I wrote before, the antiderivative of a function is not unique.  If you add any constant to an antiderivative, you will get another antiderivative.  Your calculation ignores that fact.  That's what's wrong with it.

To remove the arbitrariness, you need to evaluate a definite integral, that is, specify the upper and lower limits of the integration.  That's why I had int(f, x=0..a) in my previous answer.  The post by mmcdara shows an alternative way, where he plugs the upper and lower limits in the antiderivative and subtracts.

 

@P2prod In the initial condition you need to change D[1](w)(x, y, 0) = 0 to D[3](w)(x, y, 0) = 0.  Other than that, the equations are correct.  But as I wrote before, Maple is not equipped to solve such equations.

 

@ Will this do?

 

@Jaqr It is likely that there are gentler solutions but those will depend on the source of the problem.  I cannot diagnose and offer a solution without laying my hands on your computer. That's why from my point of view, reinstalling everything from scratch is the only practical solution that I can suggest.

 

First 21 22 23 24 25 26 27 Last Page 23 of 91