Bendesarts

345 Reputation

10 Badges

10 years, 122 days

MaplePrimes Activity


These are replies submitted by Bendesarts

@Preben Alsholm 

Thanks a lot for your help.

I tried but I didn't obtain some results.

Is it the same for you?

And consequently, I have to find good ICs.

 

@Preben Alsholm 

Perfect.

You are right with the zeros on the diagonal.

And how can I do to have vj(t)

May you help me to adapt v:=Vector(4,symbol=a); so that I can have a[1](t), a[2](t), a[3](t), a[4](t)?

Thanks a lot for your help

@Rouben Rostamian  

It works!

Thank you for your very clear answer and help.

Post solved ! But, I didn't see where I can tick it!

@Rouben Rostamian  

For the plotting with different initial conditions, OK. thank you.

For the adding of points, your method should be very appropriated.

However, I have trouble with the following code line :

dsol:=dsolve([EqSys[], x(0)=0.6, z(0)=zmax], [x(t), z(t)], numeric);

I receive this error message.

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) x(t) and x cannot both appear in the given ODE

May you help me to adapt your proposal for adding points ?

Thank you for your help.

@Rouben Rostamian  

Thank a lot for you very constructive and efficient help !

Perfect! I can obtain the elliptic form of the nonlinear oscillator.

Otherwise, I have some slight questions :

1) Obtention of the initial conditions

I try to follow your method so as to obtain the initial conditions systematically with this line code :

RealDomain[solve](eval([rhs(eqx)=0,rhs(eqz)=0], [params]));

However, I receive this answer : 

{t = t, x = (proc (t) options operator, arrow; -4*z*RootOf((25*x^2+100*z^2)*_Z^2-1-2*_Z, label = _L2) end proc), z = (proc (t) options operator, arrow; RootOf((25*x^2+100*z^2)*_Z^2-1-2*_Z, label = _L2)*x end proc)}

How can I treat the RootOf ?

2) Plotting a point for a t given

I would like to know the position [x(t),z(t)] for a t given. How is possible to obtain and add it as a point on the curve ?

Thanks a lot for your help

@Rouben Rostamian  

Thank you but I didn't want to find this kind of results that you have shown me.

I would like to obtain the following curve that you can see below.

I correct the definition of the problem.

r:=sqrt((x(t)/a)^2+(z(t)/b)^2);
eqx:=diff(x(t),t)=alpha*(1-r^2)*x+w*a/b*z(t);
eqz:=diff(z(t),t)=beta*(1-r^2)*z+w*b/a*x(t);
EqSys:=[eqx,eqz];

Numeric Data:

alpha:=1:
beta:=1:
a=0.4:
b=0.2:
w=1:

I try to plot by using DEplot function in this manner :

DEplot(EqSys, [x(t), z(t)], t = -8 .. 8, [[x(0) = 0, z(0) = 0]])

But, for the moment, I receive this error :

Warning, x is present as both a dependent variable and a name. Inconsistent specification of the dependent variable is deprecated, and it is assumed that the name is being used in place of the dependent variable.
Warning, z is present as both a dependent variable and a name. Inconsistent specification of the dependent variable is deprecated, and it is assumed that the name is being used in place of the dependent variable.

As the initial conditions are not mentioned in the paper, I'm trying with x(0)=0 and z(0)=0 for the moment.

I hope this precisions will enable you to better identify the nature of the differential system that I want to plot. This system is called Hopf non linear oscillator if I have well understood.

May you help me to plot this kind of system on Maple ?

Thank you for your help

You are completely right about the multiply that I forget. Is is indeed w*a...

About the initial conditions they are not specify in the paper that I read. I wonder what I can put.

Do you have ideas ? I would like to obtain zlliptic limit cycle.

Thank you for your help

 

@Thomas Richard 

For the point 2, I mean that i would like for example to try the GetLGM module. But, this module is not detailed in the Kinematic Exports and Dynamic Exports help pages.

So, how can I do to understand for the different functions of the module GetLGM the inputs that I have to use for these functions.

For this topic, in order to be clearer, I added a new post.

Thank you for your help.

@Thomas Richard 

In other words,

For 1) , can I use these functions : 

SetOptions, SetAdditionalKinData, SetAdditionalDynData, PostProcessDyEQs, DFPModule, Print, vPd, vPd_dot, xJi, xJdInv, xG, vDepVels, vDepAccels, ... which are not seen with Export function function but the line code Code:for k to 8 do if (op(k,op(2,eval(MB)))=NULL) then print("NULL") else print(op(k,op(2,eval(MB)))) fi od; 

For 2), OK

@Thomas Richard 

Hello,

Thank you for your help.

It is very pleasant to have some feedback for you.

Indeed, on MapleSim, many of my posts were stayed without any answers.

You perfectly answer to my question with the Export function.

I have tried before the following code.

Code:for k to 8 do if (op(k,op(2,eval(MB)))=NULL) then print("NULL") else print(op(k,op(2,eval(MB)))) fi od;

thismodule
SetOptions, SetAdditionalKinData, SetAdditionalDynData,

PostProcessDyEQs, DFPModule, Print, vPd, vPd_dot, xJi, xJdInv,

xG, vDepVels, vDepAccels, vDynamicEQs, AnalyseModel,

KinAnalysis, DynAnalysis, SetGenCoords, SetQiQd, SetJacPos,

SetJacVel, SetJdInvAndG, SetDepVels, SetDepAccels,

SetQiDepEdgeInfo, ReducePosCons, ProcessPosCons, GetVelAccCons,

ModType, lmQiSys, lmQdSys, lmQiPreSolved, lmQdPreSolved,

llmSubSysCons, tePosConstraintInfo, teZeroReactionSubs,

leJdInvSubs, leGSubs, leDepAccSubs, leMFSubs, vPosCons,

vVelCons, vAccCons, vDynEQs, leConstParams, leVarParams,

leReParamSubs, leConsistentSubs, leParamSubs, leICGuesses,

leSummary, bSolvePosition, bSubMF, sDynSimpType, sKinSimpType,

bSubEmbed, bSimpEmbed, sAugType, sFormType, leBaumgarte,

bGenSubSys, bSilentMode, bCalledFromMapleSimGUI, mLGM, mMath,

pTFunc, sModType
"NULL"
GetParams, GetInputs, GetPosCons, GetVelCons, GetAccCons,

GetDynEQs, GetKinTrans, GetSysEQs, GetFrameMotion,

GetInterFrameForce, GetBaumgarte, SetBaumgarte, GetNodeNames,

GetSysODEs, GetAYBSysODEs, GetSimCodeData, GetLGM, GetMass,

GetCoM, GetInertia, Reparameterize, ApplySimplification,

AddConstraints, PrintSummary, vQ, vQdot, vP, vPdot, vX, vXdot,

vKinTransRHS, xJacPos, xJacVel, vVelRHS, vAccRHS, xM, vLambda,

xC, vF, vReactions, mExprMan, leTo2ndOrderSubs, sDFPVersion,

sLibFile
"NULL"
"NULL"
"NULL"
"NULL"

With this code, new functions appear, but I think that I'm not sure that I can use the intermediate functions.

1) For the intermediate functions, are there usable ?

2) For the functions in the module GetMultibody that I get with the function GetMultibody, It seems to me that some of these functions are not detailled in the help of MapleSim such as GetParams, GetMass.... Do I right? I imagine that some of these functions can be very useful. Is there some help of them ?

Thanks for your answer

@Thomas Richard 

Thank you.

You perfectly answer to my question.

Indeed, the numbering that I desired seems to be absent ...

Why not taking into account :) ...

@OrangVahid 

Thank you for your help.

It seems that your help should permit me to tackle the issue.

But, i need some precisions :
When you said "only assign units to the top-level definition", where is it for you : in the parameter area of the subsystem (point 1 in my question), in the inspector tab of the subsystem (point 2 in my question), or somewhereelse ?

Thanks a lot for your help

@tomleslie 

The second answers is perfect for me.

Thank you

How can be more accurate in your question ?

Otherwise, if it deals with "Fluid mechanics", I'm not sure that MapleSim can model distributed parameters model.

@Carl Love 

Thanks a lot for your help.

So, I have tried to follow your tips by using FromMatlab function available in the package with(Matlab).

My code is the following :

with(Matlab):
FromMatlab("Barre_1_Euler_epsilon_beta = Barre_1_Euler_epsilon_eps(2,1);
Barre_1_Euler_epsilon_gamma = Barre_1_Euler_epsilon_eps(3,1);
u_1 = cos(Barre_1_Euler_epsilon_beta);
u_2 = cos(Barre_1_Euler_epsilon_gamma);
u_3 = sin(Barre_1_Euler_epsilon_gamma);
Barre_1_Euler_epsilon_B = [u_1*u_2,u_3,0;-u_1*u_3,u_2,0;sin(Barre_1_Euler_epsilon_beta),0,1];");

Evaluating:
Barre_1_Euler_epsilon_beta := Barre_1_Euler_epsilon_eps(2, 1);
Barre_1_Euler_epsilon_gamma := Barre_1_Euler_epsilon_eps(3, 1);
u_1 := map[evalhf](cos,Barre_1_Euler_epsilon_beta);
u_2 := map[evalhf](cos,Barre_1_Euler_epsilon_gamma);
u_3 := map[evalhf](sin,Barre_1_Euler_epsilon_gamma);
Barre_1_Euler_epsilon_B := Matrix([<u_1 . u_2 | u_3 | 0>, <-u_1 . u_3 | u_2 | 0>, <map[evalhf](sin,Barre_1_Euler_epsilon_beta) | 0 | 1>], scan=columns );

So, the good point is that now Maple recognize the definition of the matrix written in matlab. However, the bad point is that I lose the structure that I want in Maple that is to say a set of equations. Now, I have variables which are assigned with the expression in the right side.

Consequently, I think I should made a mix by using either StringTools commands and commands from the package Matlab:-FromMFile.

Do you have ideas in order to obtain a set of equations ?

If my post is not enough clear, don't hesitate to let me know. I will try to reformulate it in another way.

Thanks a lot for your help.

 

First 7 8 9 10 11 12 13 Page 9 of 16