Items tagged with programming programming Tagged Items Feed

 

ANALYSIS AND DESIGN OF MACHINE FOUNDATION

 


restart

Loading Optimization

 

Loading LinearAlgebra  

 

Loading plots  

with(ScientificConstants):

Loading DynamicSystems  

with(Units:-Standard)

with(Units:-Natural)

with(StringTools)

FormatTime("%m-%d-%Y, %H:%M")

FormatTime("%m-%d-%Y, %H:%M")

(1)

NULL

Introduction

 

This document deals with vibration analysis and design of machine foundations subjected to dynamic load.

NULL

NULL

NULL

NULL

GetConstant(g);

standard_acceleration_of_gravity, symbol = g, value = 9.80665, uncertainty = 0, units = m/s^2

(2)

g__SI := evalf(Constant(g, system = SI, units))

9.80665*Units:-Unit(('m')/('s')^2)

(3)

NULL

Richart and Lysmer's Model

 

Richart et al. (1970) idealised the foundation as a lumped mass supported on soil which is idealised as frequency independent springs which he described in term of soil parameter

dynamic shear modulus or shear wave velocity of the soil for circular footing when footings having equivalent circular radius. The Tables below shows the different values of spring and damping vlaues as per Richart and Lysmer.

NULL

In which, G = dynamic shar modulus of he soil and is given G = `ρ__s`*V__s^2 ; ν = Piosson's ratio of the soil; ρs = mass density of the soil; Vs = shear wave velocity of the soil obtained

from soil testing; g = acceleration due to gravity; m = mass of the machine and foundation; J = mass moment of inertia of the machine and foundation about the appropriate axes; K = equivalent spring stiffness of the soil; C = damping value of the soil; B = interia factor contributing to the damping factor; D = damping ratio of the soil; r = equivalent radius of a circular foundation; L = length of foundation, and B = width of the foundation.

NULL

NULL

NULL

Sketch

 

NULL

NULL

NULL

NULL

nu := .25

Table : Values of soil springs as per Richart and Lysmer (1970) model

 

NULL

NULL

SI No.

Direction

Spring value

Equivalent radius

Remarks

1

Vertical

K__z = 4*G*r__z/(1-nu)"(->)"

r__z = sqrt(L*B/Pi)"(->)"

This is in vertical Z direction

2

Horizontal

K__x = (32*(1-nu))*G*r__x/(7-8*nu)
"(->)"

r__x = sqrt(L*B/Pi)"(->)"

This induce sliding in horizontal X

2.1

Horizontal

K__y = (32*(1-nu))*G*r__y/(7-8*nu)
"(->)"

r__y = sqrt(L*B/Pi)"(->)"

This induce sliding in horizontal Y

3

Rocking

`K__φx` = 8*G*`r__φx`^3/(3*(1-nu))"(->)"

`r__φx` = (L*B^3/(3*Pi))^(1/4)"(->)"

This produces roxking about Y axis

3.1

Rocking

`K__φy` = 8*G*`r__φy`^3/(3*(1-nu))"(->)"

`r__φy` = (L^3*B/(3*Pi))^(1/4)"(->)"

This produces roxking about X axis

4

Twisting

`K__ψ` = 16*G*`r__ψ`^3*(1/3)"(->)"

`r__ψ` = ((B^3*L+B*L^3)/(6*Pi))^(1/4)
"(->)"

This produces twisting about vertical Z axis

 

NULL

NULL

NULL

NULL

NULL

Table : Values of soil damping as per Richart and Lysmer (1970) model

 

NULL

SI No.

Direction

Mass ratio (B)

Damping ratio and Damping values

Remarks

1

Vertical

B__z = .25*m__U*(1-nu)*g__SI/(`ρ__s`*r__z^3)
"(->)"

`ζ__z` = .425/sqrt(B__z)"(->)"C__z = 2*`ζ__z`*sqrt(K__z*m__U)"(->)"

This damping value is in vertical Z direction

2

Horizontal

B__x = (7-8*nu)*m__U*g__SI/((32*(1-nu))*`ρ__s`*r__x^3)
"(->)"

`ζ__x` = .288/sqrt(B__x)"(->)"

C__x = 2*`ζ__x`*sqrt(K__x*m__U)"(->)"

This damping value is in lateral X direction

2.1

Horizontal

B__y = (7-8*nu)*m__U*g__SI/((32*(1-nu))*`ρ__s`*r__y^3)
"(->)"

`ζ__y` = .288/sqrt(B__y)"(->)"

`ζ__y` = .288/((2.145204688-2.451662500*nu)*m__U*Units:-Unit(('m')/('s')^2)/((1-nu)*`ρ__s`*(L*B/Pi)^(3/2)))^(1/2)

(5.1)

NULLError, invalid left hand side in assignmentError, invalid left hand side in assignment

`ζ__ψ` = .5/(1+117.6798000*`J__ψ`*Units:-Unit(('m')/('s')^2)*6^(1/4)/(`ρ__s`*((B^3*L+B*L^3)/Pi)^(5/4)))

(5.2)

C__y = 2*`ζ__y`*sqrt(K__y*m__U)"(->)"

This damping value is in lateral Y direction

3

Rocking

`B__φx` = (.375*(1-nu))*`J__φx`*g__SI/(`ρ__s`*`r__φx`^5)
"(->)"

`ζ__φx` = .15/((1+`B__φx`)*sqrt(`B__φx`))
"(->)"

`ζ__φx` = .15/((1+11.03248125*(1-nu)*`J__φx`*Units:-Unit(('m')/('s')^2)*3^(1/4)/(`ρ__s`*(L*B^3/Pi)^(5/4)))*((11.03248125-11.03248125*nu)*`J__φx`*Units:-Unit(('m')/('s')^2)*3^(1/4)/(`ρ__s`*(L*B^3/Pi)^(5/4)))^(1/2))

(5.3)

Error, invalid left hand side in assignmentError, invalid left hand side in assignmentNULLError, invalid left hand side in assignment

.15/((1+11.03248125*(1-nu)*`J__φx`*Units:-Unit(('m')/('s')^2)*3^(1/4)/(`ρ__s`*(L*B^3/Pi)^(5/4)))*((11.03248125-11.03248125*nu)*`J__φx`*Units:-Unit(('m')/('s')^2)*3^(1/4)/(`ρ__s`*(L*B^3/Pi)^(5/4)))^(1/2)) = .15/((1+11.03248125*(1-nu)*`J__φx`*Units:-Unit(('m')/('s')^2)*3^(1/4)/(`ρ__s`*(L*B^3/Pi)^(5/4)))*((11.03248125-11.03248125*nu)*`J__φx`*Units:-Unit(('m')/('s')^2)*3^(1/4)/(`ρ__s`*(L*B^3/Pi)^(5/4)))^(1/2))

(5.4)

`C__φx` = 2*`ζ__φx`*sqrt(`K__φx`*`J__φx`)"(->)"

NULL

This damping value is for rocking about Y direction

3.1

Rocking

`B__φy` = (.375*(1-nu))*`J__φy`*g__SI/(`ρ__s`*`r__φy`^5)
"(->)"

NULL

`ζ__φy` = .15/((1+`B__φy`)*sqrt(`B__φy`))
"(->)"

.15/((1+`B__φy`)*`B__φy`^(1/2)) = .15/((1+`B__φy`)*`B__φy`^(1/2))

(5.5)

`C__φy` = 2*`ζ__φy`*sqrt(`K__φy`*`J__φy`)"(->)"

NULL

This damping value is for rocking about X direction

4

Twisting

`B__ψ` = `J__ψ`*g__SI/(`ρ__s`*`r__ψ`^5)"(->)"

`ζ__ψ` = .5/(1+2*`B__ψ`)"(->)"NULLError, invalid left hand side in assignmentError, invalid left hand side in assignmentNULLError, invalid left hand side in assignmentNULLError, invalid left hand side in assignment

.5/(1+117.6798000*`J__ψ`*Units:-Unit(('m')/('s')^2)*6^(1/4)/(`ρ__s`*((B^3*L+B*L^3)/Pi)^(5/4))) = .5/(1+117.6798000*`J__ψ`*Units:-Unit(('m')/('s')^2)*6^(1/4)/(`ρ__s`*((B^3*L+B*L^3)/Pi)^(5/4)))

(5.6)

`C__ψ` = 2*`ζ__ψ`*sqrt(`K__ψ`*`J__ψ`)"(->)"NULL

``

NULL

This damping value is valid for twisting about vertical Z axis

 

NULL

NULL

NULLNULL

(4)

``

NULL

Vertical Motion Considering damping of the Soil

 

For vertical direction the equation becomes that of a lumped mass having single degree of freedom when

deq := m__U*(diff(z(t), t, t))+'C__z'*(diff(z(t), t))+'K__z'*`#mi("z")` = P__0*sin(`ω__m`*t)

m__U*(diff(diff(z(t), t), t))+C__z*(diff(z(t), t))+K__z*`#mi("z")` = P__0*sin(`ω__m`*t)

(6.1)

NULL

t1 := subs(P__0*sin(`ω__m`*t)/m__U = F, expand(deq/m__U));

diff(diff(z(t), t), t)+1.085721853*(G*(L*B/Pi)^(1/2)*m__U/(1-nu))^(1/2)*(diff(z(t), t))/(m__U*(m__U*Units:-Unit(('m')/('s')^2)/(`ρ__s`*(L*B/Pi)^(3/2))-m__U*Units:-Unit(('m')/('s')^2)*nu/(`ρ__s`*(L*B/Pi)^(3/2)))^(1/2))+4*G*(L*B/Pi)^(1/2)*`#mi("z")`/(m__U*(1-nu)) = F

(6.2)

NULL

(6.3)

By algebraically manipulating the expression, the form traditionally used by engineers is derived:

t2 := algsubs('C__z'/m__U = 2*zeta*omega, t1)

diff(diff(z(t), t), t)-(-1.085721853*(-G*(L*B/Pi)^(1/2)*m__U/(nu-1))^(1/2)*(diff(z(t), t))*nu+1.085721853*(-G*(L*B/Pi)^(1/2)*m__U/(nu-1))^(1/2)*(diff(z(t), t))+4.*G*(L*B/Pi)^(1/2)*`#mi("z")`*(-Units:-Unit(('m')/('s')^2)*(nu-1)*m__U/(`ρ__s`*(L*B/Pi)^(3/2)))^(1/2))/((nu-1.)*(-Units:-Unit(('m')/('s')^2)*(nu-1)*m__U/(`ρ__s`*(L*B/Pi)^(3/2)))^(1/2)*m__U) = F

(6.4)

NULL

t3 := algsubs('K__z'/m__U = omega^2, t2)

diff(diff(z(t), t), t)-(-1.085721853*(-G*(L*B/Pi)^(1/2)*m__U/(nu-1))^(1/2)*(diff(z(t), t))*nu+1.085721853*(-G*(L*B/Pi)^(1/2)*m__U/(nu-1))^(1/2)*(diff(z(t), t))+4.*G*(L*B/Pi)^(1/2)*`#mi("z")`*(-Units:-Unit(('m')/('s')^2)*(nu-1)*m__U/(`ρ__s`*(L*B/Pi)^(3/2)))^(1/2))/((nu-1.)*(-Units:-Unit(('m')/('s')^2)*(nu-1)*m__U/(`ρ__s`*(L*B/Pi)^(3/2)))^(1/2)*m__U) = F

(6.5)

This form includes the damping ratio , the natural frequency , and the external forcing term .  Consider only free vibration by setting

gen3 := subs(F = 0, t3)

diff(diff(z(t), t), t)-(-1.085721853*(-G*(L*B/Pi)^(1/2)*m__U/(nu-1))^(1/2)*(diff(z(t), t))*nu+1.085721853*(-G*(L*B/Pi)^(1/2)*m__U/(nu-1))^(1/2)*(diff(z(t), t))+4.*G*(L*B/Pi)^(1/2)*`#mi("z")`*(-Units:-Unit(('m')/('s')^2)*(nu-1)*m__U/(`ρ__s`*(L*B/Pi)^(3/2)))^(1/2))/((nu-1.)*(-Units:-Unit(('m')/('s')^2)*(nu-1)*m__U/(`ρ__s`*(L*B/Pi)^(3/2)))^(1/2)*m__U) = 0

(6.6)

NULL

sol1 := dsolve({gen3, z(0) = P, (D(z))(0) = V}, z(t))

z(t) = -(1000000000/1178791942081753609)*Pi*m__U*exp(-(1085721853/1000000000)*Units:-Unit(('s')/('m')^(1/2))*t/(Pi*((nu-1)^2/(`ρ__s`*L^2*B^2*G))^(1/2)*m__U))*(1085721853*V*Units:-Unit(('s')/('m')^(1/2))*((nu-1)^2/(`ρ__s`*L^2*B^2*G))^(1/2)*`ρ__s`*L^2*B^2-4000000000*(L*B/Pi)^(1/2)*Pi*nu*`#mi("z")`+4000000000*`#mi("z")`*Pi*(L*B/Pi)^(1/2))/(Units:-Unit(('s')/('m')^(1/2))^2*B^2*L^2*`ρ__s`)+(4000000000/1085721853)*`#mi("z")`*G*Pi*(L*B/Pi)^(1/2)*((nu-1)^2/(`ρ__s`*L^2*B^2*G))^(1/2)*t/((nu-1)*Units:-Unit(('s')/('m')^(1/2)))+(1/1178791942081753609)*(1085721853000000000*V*Units:-Unit(('s')/('m')^(1/2))*Pi*((nu-1)^2/(`ρ__s`*L^2*B^2*G))^(1/2)*m__U*`ρ__s`*L^2*B^2+1178791942081753609*Units:-Unit(('s')/('m')^(1/2))^2*P*`ρ__s`*L^2*B^2-4000000000000000000*(L*B/Pi)^(1/2)*Pi^2*m__U*nu*`#mi("z")`+4000000000000000000*`#mi("z")`*Pi^2*(L*B/Pi)^(1/2)*m__U)/(B^2*L^2*`ρ__s`*Units:-Unit(('s')/('m')^(1/2))^2)

(6.7)

NULL

NULL

 

Download Analysis_and_Design_of_Machine_Foundations_1.mw

Good Morning Mapleprime Community,

Would anybody please help in the attached worksheet. I'm trying to use the new function in Maple that is the clicable method, but I was having problem in some of my output such as zeta_y and zeta_phi as this two equations are generating an error message.

 

Regards,

Moses

hi,

i'm trying to figure out where i did a mistake by coding reducedEchelonForm.

with(LinearAlgebra):
reduced:=proc(M)
 local l:=1, m:=RowDimension(M),n:=ColumnDimension(M),i,j; # l current column
 for i from 1 to m do # going trough every row item
  if n<l then # ColumnDimension need to be bigger than current column
   return M;
  end if;
 j:=i; # given current row item
 while M[j,l]=0 do # search for first rom item unequal zero
  j:=j+1;
  if m<j then # end of row
   j=i;
   l=l+1;
   if n<l then # end of rows and columns -> finish
    return M;
  end if;
 end if;
end do;
M:= perm(m,n,j,i).M; #permute row j and i
if not(M[i,l]=0) then # multiply row i with M[i,l])^(-1)
 M:= multiplikation(m,n,i,(M[i,l])^(-1)).M;
end if;
for j from 1 to m do # subtract every row j with row i for M[j,l]-times
 if not(j=i) then
  M:= addition(m,n,j,i,-M[j,l]).M;
 end if;
end do;
l:=l+1; # increase l by 1, next iteration i increase either
end do;
end proc:

 

Hint: perm(...),multiplikation(...) and addition(...) are the elementary matrices. They are working.

 

Now i got an error by running it: 

L:=Matrix(2,3,[1,2,3,4,5,6]);
reduced(L);
Error, (in reduced) invalid left hand side in assignment

Can someone explain me these error? And maybe a hint what i need to fix in my code?

Greets felix

the expression

sN=a1+a2+...+aN

for k from 1 to N do

psum=psum+a(n);

end do;

s[k]:=psum;

end do:

 

how do we transform this using only one loop?

 

thanks

Hello all,

here the programme I think there are some mistakes couldnot know where please any comment will be helpful:

# Firstly, set the size limit for the grid, which shall define how many
# points there are in both the vertical and horizontal direction
size=40;
# limit is a variable used to set an unobtainable upper bound
limit=size+1;
# x defined, starting at 1, and two other variables ud (upper diagonal) and
# dd (downward diagonal) begin at 0. All three are used to iterate through
# line creation

x=1;
ud=0;
dd=0;
# Iteration through x, using the line function to create a number of
# horizontal lines up to the limit point

while(x<(limit))
line([0, size], [x, x]);
x=x+1;
end

# Now iterating through the diagonals pointing upwards, using two sets of
# lines, both starting from the line going through the origin. The first
# iterates through the lines that pass through positive x values at y=0,
# the second iterates through the lines passing through negative x values
# at y=0
# ud must be increased by 2 each time to ensure that equilateral triangles
# are formed.

while(ud<(limit))
line([(ud), (size)], [0, (size-ud)]);
line([0, (size-ud)], [(ud), (size)]);
ud=ud+2;
end

# Similar to before, except this time iterating through downward pointing
# diagonals.

while(dd<(limit))
line([(dd), 0], [0, (dd)]);
line([(size), (dd)], [(dd), (size)]);
dd=dd+2;
end

# xvector and yvector set up as two vectors holding x and y co-ordinates of
# points respectively.

xvector = zeros(1, limit);
yvector = zeros(1, limit);

# Reinitiallising x and y values for iterative purposes.

x=0;
y=0.5;
n=1;

# The program now iterates through potential y values for the potential
# points. Then it tests the value of y to see what orientation the lattice
# is at that point, then randomly selects x values to enter, iterating
# between all the possible x values in the orientation before moving on to
# the next y value.

while(y<size)
if(mod(y,1)==0.5)
x=0.5;
while(x<size)
z=rand;
if(z>0.5)
xvector(n) =x;
yvector(n) =y;
n=n+1;
end
x=x+1;
end
elseif(mod(y,2)==1)
x=0;
while(x<size)
z=rand;
if(z>0.5)
xvector(n) =x;
yvector(n) =y;
n=n+1;
end
x=x+2;
end
else
x=1;
while(x<size)
z=rand;
if(z>0.5)
xvector(n) =x;
yvector(n) =y;
n=n+1;
end
x=x+2;
end
end
y=y+0.5;

end

# The program then enters the two co-ordinate vectors saved previously into
# the scatter function.

hold;
scatter(xvector, yvector);

Hi,

I have a linear mathematical model that is in deterministic form, but actually one of the input parameters has a stochastic nature and follows a log normal distribution function. and I need to include this in the formulation. Please help me with this questions:

1) Do I need to use stochastic programming methods to solve it? if yes, how?

2) How can I include the distribution function in my model?

3) Can I solve the these kinds of problems using Maple?

Hi, currently im using maple 15

the coding did work but it is not the same with the answer
here, i attach the coding with the answer

coding:
derivation := proc (A, n)
local i, j, k, t, s1, s2, m, D, sols, eqns, Andre;
eqns := {};
D := matrix(n, n);
Andre := matrix(n, n);
for i to n-1 do
for j from i+1 to n do
for m to n do
s1 := sum(A[i, j, k]*D[m, k], k = 1 .. n);
s2 := sum(A[k, j, m]*D[k, i]+A[i, k, m]*D[k, j], k = 1 .. n);
eqns := `union`(eqns, {s1 = s2})
end do end do end do;
sols := [solve(eqns)];
t := nops(sols);
for i to t do
for j to n do
for k to n do
Andre[k, j] := subs(sols[i], D[k, j])
end do end do;
print(Andre)
end do end proc

the maple result showing:

> AS1 := array(sparse, 1 .. 2, 1 .. 2, 1 .. 2, [(1, 1, 2) = 1]);

> derivation(AS1, 2);
[D11 0]
[D21 D22]

> AS2 := array(sparse, 1 .. 2, 1 .. 2, 1 .. 2, [(1, 1, 1) = 1, (1, 2, 2) = 1]);
> derivation(AS2, 2);
[0 D12]
[D21 D22]

the maple should showing

> derivation(AS1, 2);
[D11 0]
[D21 2D11]

> AS2 := array(sparse, 1 .. 2, 1 .. 2, 1 .. 2, [(1, 1, 1) = 1, (1, 2, 2) = 1]);
> derivation(AS2, 2);
[0 0]
[D21 D22]

please help., thank you

Is it possible to create a sumif function, like the one in excel?

For bonus in my one class, we are required to change the code in a program to have it produce another row when running Neville's Method. We need to, after it runs initially, have it ask "Run another time? Y/N" and type 'Y' or 'N' for Yes or No. If No, it ends the program. If yes, we need to have it input another x(i) and f(x(i)) without having to input all the other data points again. Here is what I have so far (this is just the additional part we have to add, not the whole code):

 print(`Do you want another point? Type Y or N.`):
  J := scanf(` %c`)[1]:print(`Entry = `):print(J):
  if J = "Y" or J="y" then
  AGAIN := "Y":
  AGAIN = "Y" or AGAIN = "y":
        OUP := default:
      fprintf(OUP, `NEVILLE'S METHOD\n `):
       fprintf(OUP, `Table for P evaluated at X = %12.8f , follows: \n`, X):
       fprintf(OUP, `Entries are XX(I), Q(I,0), ..., Q(I,I) `):
       fprintf(OUP, `for each I = 0, ..., N where N = %3d\n\n`, N):
       for I1 from 0 to N+1 do
         fprintf(OUP, `%11.8f `, XX[I1]):
         for J from 0 to I1 do
           fprintf(OUP, `%11.8f `, Q[I1,J]):
         od:
         fprintf(OUP, `\n`):
        od:
    if J="Y" or J="y" then
         AGAIN := Y:
             if AGAIN = Y or AGAIN = y then
                 #N=N+1:
                  if N > 0 then
                  OK := TRUE:
                 for I1 from N to N+1 do
                        print(`Input X(i) and F(X(i)) for i = `):print(I1):
                        print(`separated by a space `):
                       XX[I1] := scanf(`%f`)[1]:
                       Q[I1,0] := scanf(`%f`)[1]:print(`Entries are`):print(XX[I1],Q[I1,0]):
                  od:
                else
                  print(`Number must be a positive integer `):
               fi:


            else
                AGAIN := No:     
         fi:
         fi:
    else
        print(`Ok thanks`):
 fi:

Not sure what I am doing wrong and any help is appreciated. Thanks.

How do I write a procedure to find a root of f(x)=0 in the vicinity of a given value x0. The procedure should initially use the rearrangement method to produce a linearly convergent sequence of values, and should, when appropriate, switch to Aitkin's Method. The input for the procedure should be the re-arranged function and the velue for x0. The output should be the root and the number of iteration taken. The procedure should check that re-arrangement will converge. This program should do in Maple V Release5.

Thank you for your help.

 

the program is not recognized kthe program is not recognized the k

Hello,

I would like to plot coupled elliptic parametric curves.

I have a problem in the for loop in my code. The index i of the phi variable is not incremented.

Here my code:

for i to 4
do
u[i]:=t->L/2*cos(w*t);
v[i]:=t->H*sin(w*t+phi[i]);
end do;

The result looks like this :

u[1](t) -> - L cos(w t)
v[1](t) -> H sin(w t + phi[i])

u[2](t) -> - L cos(w t)
v[2](t) -> H sin(w t + phi[i])

u[3](t) -> - L cos(w t)
u[3](t) -> H sin(w t + phi[i])

u[4](t)  -> - L cos(w t)
u[4](t)  -> H sin(w t + phi[i])

And i would have prefered :

u[1](t) -> - L cos(w t)
v[1](t) -> H sin(w t + phi[1])

u[2](t) -> - L cos(w t)
v[2](t) -> H sin(w t + phi[2])

u[3](t) -> - L cos(w t)
v[3](t) -> H sin(w t + phi[3])

u[4](t)  -> - L cos(w t)
v[4](t)  -> H sin(w t + phi[4])

Do you have ideas how I can obtain iteration on my phi variable ?

Thank you for your help.

 a new function from an existing function and how?

http://www.mapleprimes.com/posts/38019-Calling-Out-To-C-From-Maple#

if i can use maple to call c# function such as AForge.QLearning

how to set some tasks for it to guess some system of polynomials to fit hibert series criteria?

how to set a game for it to run itself to discover itself?

When assigning a color to a given wave length I initially used ColorTools WavelengthToColor. Acer commented that this wasn't the most accurate. I looked into this a little further and it seems there could be a better result. The attached document compares some different ways of assigning colors to wave lengths. 

Warning- The CIEDE2000 computation for deltaE is very slow. I think this is because of the hue angle calculations which use piecewise a lot. The CIE94 delta E method produces nearly the same result and takes minutes instead of hours.

 

Questions;

 I think I could speed up my calculation if I could find the position of the minimum element of an Array similar to FindMinimalElement of a list. 

I created my own atan2 function (similar to Excel). If there were a built in Maple equivalent perhaps it would be faster? I didn't see any such function.

6bit_Wavelength_Color_CIEDE2000.mw

Hello,

I have an error in my code. I don't know where it came from. Earlier today I loaded this and it worked fine and now an error comes up. Any help is greatly appreciated! Thank you in advance!

Kind regards,

Gambia Man

with(plots):

``

HyperionOrbit := proc (`&theta;IC`, `&omega;IC`) local a, Mh, Msat, G, e, beta, M, Eqns, Th, ICs, soln, `&omega;H`; a := 1.501*10^9; Mh := 5.5855*10^18; Msat := 5.6832*10^26; G := 6.67259/10^11; e := .232; beta := .89; M := Mh+Msat; Eqns := diff(theta(t), t) = omega(t), diff(omega(t), t) = -G*Msat*beta^2*(xH(t)*sin(theta(t))-yH(t)*cos(theta(t)))*(xH(t)*cos(theta(t))+yH(t)*sin(theta(t)))/(xH(t)^2+yH(t)^2)^2.5, diff(xH(t), t) = vxH(t), diff(vxH(t), t) = -G*M*xH(t)/(xH(t)^2+yH(t)^2)^(3/2), diff(yH(t), t) = vyH(t), diff(vyH(t), t) = -G*M*yH(t)/(xH(t)^2+yH(t)^2)^(3/2); Th := sqrt(4*Pi^2*a^3/(G*(Mh+Msat))); `&omega;H` := 2*Pi/Th; ICs := xH(0) = a*(1+e), yH(0) = 0, vxH(0) = 0, vyH(0) = sqrt(G*M*(1-e)/(a*(1+e))), theta(0) = `&theta;IC`, omega(0) = `&omega;IC`; soln := dsolve({Eqns, ICs}, numeric); odeplot(soln, [theta(t), omega(t)/`&omega;H`], 0 .. 5*Th, numpoints = 2000, labels = ["&theta;(t)","&omega;(t)/&omega;H"], axes = boxed) end proc

HyperionOrbit(.5, 1.8*`&omega;H`)

Warning, The use of global variables in numerical ODE problems is deprecated, and will be removed in a future release. Use the 'parameters' argument instead (see ?dsolve,numeric,parameters)

 

Error, (in dsolve/numeric/SC/IVPpoints) unable to store '11.3097335529232/Th' when datatype=float[8]

 

``

``

``

 

Download Poincare_section.mw

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