Welcome Guest! To enable all features please Login. New Registrations are disabled.

Notification

Icon
Error

Login


Options
Go to last post Go to first unread
Online mkraska  
#1 Posted : 15 April 2012 22:00:40(UTC)
mkraska


Rank: Advanced Member

Groups: Registered
Joined: 15/04/2012(UTC)
Posts: 1,987
Germany

Was thanked: 1124 time(s) in 721 post(s)
Hello,

I am using Smath for teaching Finite Element Analysis. The following file is an example for how to set up and solve an arbitrary plane (2D) truss structure in smath, including display of the deformed structure. However, there are some problems.

http://smath.info/wiki/G...ska%5cFachwerk%20UE2.rar

Problem #1: The global system stiffness matrix KS is singular. However, Smath 0.93 and previous versions failed to compute the determinant directly with the error message "result is above max. allowed positive number". Of course, this can refer only to some intermediate result in the internal algorithm for computing the determinant.

This fails with the mentioned error message:
[MATH lang=eng]det(KS)=#@#[/MAT]

Scaling works:
[MATH lang=eng]det(KS/{1000*'kN/'cm})=0@#[/MAT]

Thus I propose to revise the determinant computing algorithm and replace it by some more robust one. Linpack/blas should do the job. I used these libraries when dealing with FEA fortran programming.

Problem #2: Starting with version 0.92 Smath fails to compute the solution, which involves the inversion of the reduced stiffness matrix K.r. Smath in version 0.92 and 0.93 complains about K.r being singular, whereas 0.91 does not.

In case these problems can be solved, I would be happy to translate the example to english or russian and contribute it to the examples section in the forum.

Best regards, Martin Kraska



Martin Kraska

Pre-configured portable distribution of SMath Studio: https://smath.com/wiki/SMath_with_Plugins.ashx

Wanna join the discussion?! Login to your SMath Studio Forum forum account. New Registrations are disabled.

Offline omorr  
#2 Posted : 15 April 2012 23:14:58(UTC)
omorr


Rank: Administration

Groups: Registered, Advanced Member
Joined: 23/06/2009(UTC)
Posts: 1,740
Man
Serbia

Was thanked: 318 time(s) in 268 post(s)
Hello Martin,

I do not know if this is something you could use but using Symboloc optimization you can have
det(KS)=0
The next matrix has the range less than the matrix dimension K.r(9x9) - Symbolic optimization again
rank(K.r)=6
Therefore there is no inverse matrix.

I hope this is of some help to you.

On the other hand, I agree and mentioned few times that SMath should have some numerical libraries incorporated. I really do not know what are the chances of this to be realized.

Regards,
Radovan
When Sisyphus climbed to the top of a hill, they said: "Wrong boulder!"
Online mkraska  
#3 Posted : 16 April 2012 00:06:01(UTC)
mkraska


Rank: Advanced Member

Groups: Registered
Joined: 15/04/2012(UTC)
Posts: 1,987
Germany

Was thanked: 1124 time(s) in 721 post(s)
Hello Radovan,

thank you for trying the example. I get the same result as you with symbolic optimization. BTW, I also get rank(KS)=8, which is as wrong (should be 9) as rank(K.r)=6. Otherwise version 0.91 would not be able to find a solution (which matches the ANSYS result and thus can be relied on).

The rank deficiency of the global stiffness is due to possible rigid body motions as KS represents the unconstrained system. System reduction due to dof constraints makes the displacement solution well defined and thus K.r is regular.

I consider the Smath 0.92 and 0.93 results being buggy.

btw: Any idea what went wrong with my initial post? I expected the expressions to be nicely formatted just like in your post. I obviously failed to follow the instructions in the wiki :-(

Best regards, Martin Kraska

Martin Kraska

Pre-configured portable distribution of SMath Studio: https://smath.com/wiki/SMath_with_Plugins.ashx
Offline kmihaylovich  
#4 Posted : 16 April 2012 09:38:25(UTC)
kmihaylovich


Rank: Member

Groups: Registered
Joined: 22/06/2010(UTC)
Posts: 13
Location: Питер

Was thanked: 5 time(s) in 4 post(s)
mkraska wrote:
btw: Any idea what went wrong with my initial post? I expected the expressions to be nicely formatted just like in your post. I obviously failed to follow the instructions in the wiki :-(

End tag should be [/MATH] instead of [/MAT]
Online mkraska  
#5 Posted : 21 May 2012 00:16:13(UTC)
mkraska


Rank: Advanced Member

Groups: Registered
Joined: 15/04/2012(UTC)
Posts: 1,987
Germany

Was thanked: 1124 time(s) in 721 post(s)
Just tested with 0.94.xxxx, unfortunately linear algebra problem persists...
Determinant of KS can now be computed with scaling divisor of 10..100000

det(KS/{100000*'kN/'cm})=0@#

Sorry for not being able to post the math expression correctly (used the bbcode tags from the editor menu and pasted from Smath via clipboard). I guess that this is my fault.


Originally Posted by: mkraska Go to Quoted Post
Hello,

I am using Smath for teaching Finite Element Analysis. The following file is an example for how to set up and solve an arbitrary plane (2D) truss structure in smath, including display of the deformed structure. However, there are some problems.

http://smath.info/wiki/G...ska%5cFachwerk%20UE2.rar

Problem #1: The global system stiffness matrix KS is singular. However, Smath 0.93 and previous versions failed to compute the determinant directly with the error message "result is above max. allowed positive number". Of course, this can refer only to some intermediate result in the internal algorithm for computing the determinant.

This fails with the mentioned error message:
det(KS)=#@#

Scaling works:
det(KS/{1000*'kN/'cm})=0@#

Thus I propose to revise the determinant computing algorithm and replace it by some more robust one. Linpack/blas should do the job. I used these libraries when dealing with FEA fortran programming.

Problem #2: Starting with version 0.92 Smath fails to compute the solution, which involves the inversion of the reduced stiffness matrix K.r. Smath in version 0.92 and 0.93 complains about K.r being singular, whereas 0.91 does not.

In case these problems can be solved, I would be happy to translate the example to english or russian and contribute it to the examples section in the forum.

Best regards, Martin Kraska





Martin Kraska

Pre-configured portable distribution of SMath Studio: https://smath.com/wiki/SMath_with_Plugins.ashx
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.