Problem with Odesolve in good Old MC15
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Problem with Odesolve in good Old MC15
Hi,
I want to calculate a deflection of a beam with Odesolve in MC15.
The deflection consists of two parts: y1(x) and y2(x).
I could solve the y1(x), but when trying to solve y2(x), i got an error-message:
"this variable is not defined"
You can see it near the end of the sheet.
The boundary-conditions are: deflection in the bearings are zero, the bending moments as well.
What am i doing wrong here?
Thank you for your help.
ps.: The MC15 File can be uploaded only as a zipped file.
Solved! Go to Solution.
- Labels:
-
Other
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
You can't use the prime symbol (Ableitungsstrich) for the derivative of y1.
I would suggest to define a function for the derivative.
But I don't think that the result is correct. When I look at what the value of the first derivative of y1 at lo (6) is, I sometimes get an error (which I would have suspected at the end of the interval)and sometimes it will (upon recalculation) evaluate to 0.
So I see two options, Either let the first odesolve block up to lo+0.1 (or something like lo*1.01) or you change the initial condition in your second solove block to y2*(lo)=y1_diff(lo-0.1) or something similar.
This gives a more plausible result:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
You can't use the prime symbol (Ableitungsstrich) for the derivative of y1.
I would suggest to define a function for the derivative.
But I don't think that the result is correct. When I look at what the value of the first derivative of y1 at lo (6) is, I sometimes get an error (which I would have suspected at the end of the interval)and sometimes it will (upon recalculation) evaluate to 0.
So I see two options, Either let the first odesolve block up to lo+0.1 (or something like lo*1.01) or you change the initial condition in your second solove block to y2*(lo)=y1_diff(lo-0.1) or something similar.
This gives a more plausible result:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Vielen Dank Werner,
Ich glaube das war der Knackpunkt mit dem definieren der Funktion für die erste Ableitung.
Auf die Schreibweise mit dem Ableitungsstrich wäre ich so schnell nicht gekommen.
Jetzt gilt es die Übergangsbedingungen sowie die Grenzen richtig zu finden/festzulegen.
Way to go!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
...now it's done 🙂
THX Werner!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Ah, ja. Das sieht gleich anders aus.
Das mit dem Ableitungsstrich geht durchgehend nur in Prime, in Mathcad aber nur in Ausnahmefällen (eben bei den Ableitungen jener Funktionen, nach denen mit odesolve gesucht wird). Ansionsten ist der Differntialoperator zu verwenden.
Den zweiten Lösungsblock kann man auch schreibenm ohne diue Ableitung von y1 extra als Funktion zu definieren, aber ich fand es mit der Funktion übersichtlicher:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
@WernerExinger wrote:
Das mit dem Ableitungsstrich geht durchgehend nur in Prime, in Mathcad aber nur in Ausnahmefällen (eben bei den Ableitungen jener Funktionen, nach denen mit odesolve gesucht wird). Ansionsten ist der Differntialoperator zu verwenden.
...man lernt eben nie aus...
Das werde ich auf jeden Fall so schnell nicht vergessen!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Mathcad will have issues with Odesolve when the constraints aren't "initial conditions."
Attached is a finite difference solution. You need a stronger beam!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Thanks Fred!
