maple2015

120 Reputation

6 Badges

4 years, 304 days

MaplePrimes Activity


These are replies submitted by maple2015

@Christian Wolinski 

When I use numeric integration, Maple gives the correct answer.

Perhaps these types of bugs are removed in the new versions.

@tomleslie 

Thank you for your comments.

The selected region for phi or Integrand was not correct. By rectifying integration domain, it is observed that both the integrand and integral values are posiitive.

int(Integrand*G, [z = y-R .. R-y, y = 0 .. R], numeric);

plots[implicitplot3d](Phi = Integrand, z = -R .. R, y = 0 .. R, Phi = 0 .. 0.1e-1, color = ColorTools[Gradient]("Red" .. "Blue", best)[4], grid = [50, 50, 20]);

 

Please look over the following code


 

restart; sub := proc (arg) subs(`$`(d[4-i] = diff(w(r), `$`(r, 4-i)), i = 0 .. 3), d[0] = w(r), arg) end proc; isub := proc (arg) subs(`$`(diff(w(r), `$`(r, 4-i)) = d[4-i], i = 0 .. 3), w(r) = d[0], arg) end proc; df := proc (arg, i) sub(diff(arg, d[i])); (-1)^i*(diff(%, `$`(r, i))) end proc; E := proc (ode) isub(ode); sub(diff(%, d[0]))+df(%, 1)+df(%, 2)+df(%, 3)+df(%, 4) end proc; EL := proc (ode, f) E(ode); f*VectorCalculus:-Laplacian(%/f, 'polar'[r, t]) end proc; eq := proc (ode1, ode2, f) isub(E(ode2)-EL(ode1, f)); factor(%); {seq(coeff(%, d[j]), j = 0 .. 4)} end proc

A := eq(-r*sub(d[1]^2), sub(f[1](r)*d[1]^2+f[2](r)*d[2]^2), r)

{0, 2*(-(diff(f[1](r), r))*r^2-1)/r^2, 2*(2*(diff(f[2](r), r))*r^2-2*r^2)/r^2, 2*(f[2](r)*r^2-r^3)/r^2, 2*((diff(diff(f[2](r), r), r))*r^2-f[1](r)*r^2+r)/r^2}

(1)

f[2](r) = solve(A[4], f[2](r))

f[2](r) = r

(2)

 dsolve(A[2])

f[1](r) = 1/r+_C1

(3)

``


Download 01.mw

Please hint me how it is possible to find an appropriate guess for general form of ode2(r) if ode1(r) is assumed to be q(r)*(w(r))^2, in which q(r) is equal to r*(A+B*r^n)*(1+C*r)^D

D is natural number and A to C and n are real positive constant numerals.

Thanks

@acer 

Dear Acer

Thanks alot for your kindness

The method proposed by sand15  is useful.

For example when I use axial rigidity concept (a large amount is assigned to cross sectional area, relatively) the results for some special cases (without drifts) are coincide with the conventional solutions based on the stability functions. This proves the validity of the fsolve results.

@sand15 

Thank you for taking your time.

Your hints are very interesting.

I will use these hints in similar problems (commands like unapply are very useful for large data).

@acer 

Thanks for your valuable hints. The matrix is symmetric.

Please run the atached code and follow the steps (if you have atleast 10 minutes!):

- Number of the elements = 3

- Number of the nodes = 4

- Elements have the same modulus of elasticity (modulus of elasticity for all elements is 1)

- Elements have the same cross sectional area (cross sectional area for all elements is 1)

- Elements have the same moment of inertia (moment of inertia for all elements is 1)

 X and Y coordinates for nodes are as follows:

node 1 = (0,0)

node 2 = (0,1)

node 3 = (3,4)

node 4 = (4,4)

Node number for begining and end of elements:

element 1 =   begining 1  end 2

element 2 =  begining 2  end 3

element 3 =  begining 3  end 4

number of conditional nodes: 2

conditional node number (for 1 from 2) = 1

select x and y

conditional node number (for 2 from 2) = 4

select x, y, theta

I found the answer with trial and error. In general, how it is possible to get the minimum positive real root without calculating parametric determinant?

For example assume that we use Newton iterative method. The determinant will be calculated at a certain point very fast. But the main problem is that the derivative of the determinant must be calculated at that point symbolically, which is a very time consuming procedure. If it is possible, please propose a way to calculate this part of Newton iterative method (the derivative of determinant at certain value of P in each step) numerically rather than symbolic computing of the determinant derivative.

01.mw

@rlopez 

Thank you for your helpful hints.

@Christian Wolinski

Your idea helps me, but since you reply (you do not use answer option) It is impossible to like your replies (or Thumb them). I do that for your answer, I hope it make you glad.

 

@mmcdara 

This code is comprehensive

Thanks

@mmcdara 

Thanks for your useful procedure

@Christian Wolinski 

Thanks

 

@mmcdara 

Thank you for taking your time

The answer  4.450852611  is coincide with 15.4182/sqrt(12.)

The small amount of imaginary part may be arisen from somethings like the small number of digits and so on. As you see, the plot command ignore it. I forget to use complex option in fsolve.

Thank you again for your valuable hints

 

@Konstantin@ 

Thanks

@Carl Love 

Thank you

@Konstantin@ 

It works. Thank you.

I use following code after runing the previous code:

U := subs(solve({eval(W, x = 0) = delta[1], eval(W, x = L) = delta[2], eval(diff(W, x), x = 0) = theta[1], eval(diff(W, x), x = L) = theta[2]}, {_C1, _C2, _C3, _C4}), U):

 k11 := subs(delta[1] = 1, diff(subs(theta[1] = 0, theta[2] = 0, delta[2] = 0, U), delta[1]))

The following error is occurred:

`[Length of output exceeds limit of 1000000]`

1 2 3 4 5 6 Page 1 of 6