cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Stay updated on what is happening on the PTC Community by subscribing to PTC Community Announcements. X

Nonlinear Incremental/ Iterative solution

SFares
12-Amethyst

Nonlinear Incremental/ Iterative solution

Hello,

Attached is Mathcad 11 file. I also converted it from Mathcad 15 to Prime7(attached).  I did Nonlinear/ iterative solution in a manual way and another one with a small program at bottom of sheet. I have two load increments. In the manual way, it took two iterations per load increment to converge. When I compare the manual way to the little program:

1. Results matched in both methods for the first load increment , where you see green arrow and u=0.635.

2. Results didn't match for the second load increment. Manually, I got (u=1.613) after two iterations , but by the little program I got (u=1.599) where the red arrow is in the sheet ( please scroll down until you see the red arrow). Little program is shown at the bottom of sheet. For some reasons it shows a different number of iteration by the program.

 

I appreciate any assistance!

 

Thanks,

Sam

1 ACCEPTED SOLUTION

Accepted Solutions
StuartBruff
23-Emerald II
(To:SFares)


@SFares wrote:

Hi Stuart,

That's what I am trying to do with hand calculations. Hand calculations are the correct values. I didn't see a change any values in the results in your attached sheet.

What have you changed? 

 

Thanks,

Sam


Hi, Sam.

 

Open Draft view and look on the right-hand side of Iteration 1.  You should see a revised program segment that yields similar results to those of your hand derivation.

 

Cheers,

 

Stuart

View solution in original post

9 REPLIES 9
LucMeekes
23-Emerald III
(To:SFares)

There are differences between your step-by-step 'handcalculation' and the program.

Just one:

Your program uses DeltaP as an input, and it is set to half of P (which is 1), so 0.5.

Your handcalculation uses epsilon0 for the same 'thing' (Why use different names..?) wich is set to 0.5 for the first iteration.

Then before the start of the second iteration you calculate a new value for epsilon0, and it comes out as 0.5035.

You program never recalculates DeltaP, so that parameter keeps its value of 0.5.

Now 0.5 is close to, but not equal to 0.5035.

You should expect different results.

Fortunately Mathcad 11 and Prime7 results match....(as far as I can see/have looked)

 

Success!
Luc

 

SFares
12-Amethyst
(To:LucMeekes)

Hi Luc,

Delta P is for the size of the load increment, however "e0" is not equal to Delta P. "e0" is the magnitude of error in an iteration. In other words, when the e= ([applied force] - [reaction force] )> [e max= error tolerance], then I had to do another iteration. At the start of the second iteration, the load is=1.0 but the reaction force obtained from the end of increment is 0.497, so I had to calculate the Delta u in this iteration =0.799, and added to u0 from the end of previous increment to get u0+Delta u=1.434. The hand calculations are the correct values. I am attaching a new file after making some changes.

 

Thanks,

Sam

StuartBruff
23-Emerald II
(To:SFares)


@SFares wrote:

Hello,

Attached is Mathcad 11 file. I also converted it from Mathcad 15 to Prime7(attached).  I did Nonlinear/ iterative solution in a manual way and another one with a small program at bottom of sheet. I have two load increments. In the manual way, it took two iterations per load increment to converge. When I compare the manual way to the little program:

1. Results matched in both methods for the first load increment , where you see green arrow and u=0.635.

2. Results didn't match for the second load increment. Manually, I got (u=1.613) after two iterations , but by the little program I got (u=1.599) where the red arrow is in the sheet ( please scroll down until you see the red arrow). Little program is shown at the bottom of sheet. For some reasons it shows a different number of iteration by the program.

 

I appreciate any assistance!

 

Thanks,

Sam


Hi, Sam,

 

Try to write your programs so that they align exactly with your explicit calculations, and once that's working, then try optimizing or refactoring.  That way, you have a baseline to return to when things don't quite work as intended! 🙂

 

Is the attached of any help?

 

Stuart

SFares
12-Amethyst
(To:StuartBruff)

Hi Stuart,

That's what I am trying to do with hand calculations. Hand calculations are the correct values. I didn't see a change any values in the results in your attached sheet.

What have you changed? 

 

Thanks,

Sam

StuartBruff
23-Emerald II
(To:SFares)


@SFares wrote:

Hi Stuart,

That's what I am trying to do with hand calculations. Hand calculations are the correct values. I didn't see a change any values in the results in your attached sheet.

What have you changed? 

 

Thanks,

Sam


Hi, Sam.

 

Open Draft view and look on the right-hand side of Iteration 1.  You should see a revised program segment that yields similar results to those of your hand derivation.

 

Cheers,

 

Stuart

SFares
12-Amethyst
(To:StuartBruff)

Thank you so much for the solution. I have not used Mathcad prime but I will make the changes in Mathcad 15. I like what you did  in displaying the results.  I didn't know how to do that.

 

Regards,

Sam 

ttokoro
20-Turquoise
(To:SFares)

image.pngimage.png

SFares
12-Amethyst
(To:ttokoro)

Thank you ttokoro!

ttokoro
20-Turquoise
(To:SFares)

image.png

Top Tags