Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

** Community Tip** - You can change your system assigned username to something more personal in your community settings.
X

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Aug 12, 2021
05:59 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 12, 2021
05:59 AM

Error Calculating

Dear all

I try to divide element matrices but when I use n=100 , program error.

Do have any methods/solution to avoid this problem?

Thank u

Labels:

19 REPLIES 19

Aug 12, 2021
06:21 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 12, 2021
06:21 AM

It probably will not solve your problem, but instead of

i:=1..rows(L+1)

You might want

i:=1..rows(L)+1

A small step for a parenthesis, but a big difference for i.

Success!

Luc

Aug 12, 2021
06:49 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 12, 2021
06:49 AM

LucMeekes I want , i:=1..rows(L) not about this. but the problem is as picture above program can not store big data when try n_mesh=100.

Aug 12, 2021
08:25 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 12, 2021
08:25 AM

The first one is 6*6, however, the others are 3003*3003, that all data=0 except the 1,1 to 6,6.

Therefore, if you use only 1,1 to 6,6 data only, memory error may disappear.

Aug 12, 2021
11:12 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 12, 2021
11:12 PM

yes ttokoro ,the Zero will replace the other 6x6.In this file I just put 1 element (=6X6) .In fact it can be more than K_T (1,2,..n)

Do you have method or modified my sheet to usable memory without error.

Thank u

Aug 12, 2021
11:35 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 12, 2021
11:35 PM

yes ttokoro , all Zero element will replace Non-zero Matrix in this file only one elements(=6x6). In face K_T have elements more than 1 (1 to n).

Do you have any solution or you can modified my sheet to better and working?

Thank you

Aug 13, 2021
02:32 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 13, 2021
02:32 AM

i is a key index. If reduce the i from 1 to 1000 to 1,6..1000, memory error does not occur.

Aug 13, 2021
04:00 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 13, 2021
04:00 AM

@ttokoro wrote:

i is a key index. If reduce the i from 1 to 1000 to 1,6..1000, memory error does not occur.

can't be like that, or solution will wrong as my expectation.

Aug 13, 2021
07:32 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 13, 2021
07:32 AM

Hi,

i=1,6..1000 is not the right counting mechanism for sets of 6..

i=1,7..1000 is the right counting mechanism for sets of 6. This will provide 166 sets of 6 with some space left over?

Have not looked at the worksheet yet.

Cheers

Terry

Aug 13, 2021
08:21 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 13, 2021
08:21 AM

@terryhendicott wrote:

Hi,

i=1,6..1000 is not the right counting mechanism for sets of 6..

i=1,7..1000 is the right counting mechanism for sets of 6. This will provide 166 sets of 6 with some space left over?

Have not looked at the worksheet yet.

Cheers

Terry

still be error because I set every joints have 3DOF. The order will be 1,2,3.....n.

Aug 13, 2021
08:39 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 13, 2021
08:39 AM

So, is everybody saying this is a memory issue with Prime? I searched this forum and didn't find any reference to memory issues for Prime (some for Mathcad 15), but even Mathcad 15 let me manipulate a matrix of about 5 million elements. Prime was supposed to be a clean-sheet, 64 bit application to eliminate memory errors...is this still an issue?

BTW - I've still been reluctant to dive deep into Prime, and need to decide whether or not I should have our company stick with Mathcad 15 and opt for PTYC's extension or not...this issue doesn't make me feel the least bit confident...can anybody change my mind?

Aug 13, 2021
07:57 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 13, 2021
07:57 AM

Hi SPRstructur,

Can you draw a diagram of the structure you are analyzing?

Cheers

Terry

Aug 13, 2021
08:29 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 13, 2021
08:29 AM

It working well for my sheet I mesh below 50. the problem is when I try to mesh more than 50 Elements Program cant store big data. Program error because my formula.

As pic below is work normally but in low mesh make the result not accurate. Can suggest any method or solutions or modified my sheet avoid problem above?

Thank u

Aug 13, 2021
09:42 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 13, 2021
09:42 AM

Hi,

Can you share the worksheet with the full working including the diagrams. I will then look at it.

In your earlier shared sheet when I make the change suggested by Luc and set to 100, I get no memory errors but it takes a while to assemble global stiffness.

Cheers

Terry

Aug 13, 2021
11:10 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 13, 2021
11:10 AM

Hi,

Have calculated the worksheet while at the same time used task manager to keep track of the memory used. It works on my machine but I am running 128GB of Ram and 32 cores for music production and video editing. The worksheet uses at peak around 114 GB and after calculation around 92 GB. So it works on my machine (just).

Your method of assembly looks to be create 1000 global stiffness sized matrices of zeroes with a small area 6 by 6 with the element transformed stiffness matrix inserted and then you sum them. This is very memory intensive and there is a better way. You need to keep only one global stiffness matrix, and the required number of elemental transformed stiffness matrices and assemble global by using indices that reflect the connectivity of the structure. Far less memory is needed.

Upload you latest file and let me have a look.

Cheers

Terry

Aug 13, 2021
05:48 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 13, 2021
05:48 PM

Hi,

OK worked on the original posting worksheet.

Made two changes to the calculation of KG that only keeps one global stiffness matrix.

One the calculation of the PutElements function so the elemental matrix data is added to the one global matrix

Two the definition and calculation of KG itself

The worksheet peaks at 2.1 GB and finishes at 1.4GB of memory. Suitable for most machines.

What is needed still is the calculation of Γ but I will leave that to you now you know how to save excessive memory.

Cheers

Terry

Aug 13, 2021
09:23 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 13, 2021
09:23 PM

@terryhendicott wrote:

Hi,

OK worked on the original posting worksheet.

Made two changes to the calculation of KG that only keeps one global stiffness matrix.

One the calculation of the PutElements function so the elemental matrix data is added to the one global matrix

Two the definition and calculation of KG itself

The worksheet peaks at 2.1 GB and finishes at 1.4GB of memory. Suitable for most machines.

What is needed still is the calculation of Γ but I will leave that to you now you know how to save excessive memory.

Cheers

Terry

Good Morning terryhendicott

he works but I try to raise mesh (600 it work but take time) & (1000 error).

however You can modified all my sheet functions to lower and lower memory .

Thank you terryhendicott

Aug 13, 2021
11:51 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 13, 2021
11:51 PM

Hi,

There is one more obvious candidate for saving some memory. Like everything it is the law of diminishing returns. The first saved heaps of memory 122 GB down to 2.1 GB when nmesh = 100, but the second obvious candidate will not save as much as this.

A regular structure is being examined with only two or three unique element transformed stiffness. A pile element always the same length and an earth element always the same length (but different orientation each side of the pile)? Current problem definition uses 1000 x [6 x 6] to store same non transformed element stiffness and 1000 x [6 x 6] for same transformation matrices to represent these two/three types. This could be compressed to 2 or 3 x [6 x 6] transformed element stiffness in a two or three element single column vector of nested matrix, plus another 1000 x 1 column vector that indicates which of the two/three types to use for the particular element in question. Some recoding would be required.

Do you want this as an exercise or do you want me to do it. If you want me to do it please post an updated file.

Cheers

Terry

Aug 15, 2021
10:09 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 15, 2021
10:09 AM

Hi,

The worksheet is getting what looks like errors. I have looked at it closely and the low elastic modulus for soil is applied to the concrete "column", and the high elastic modulus of the concrete is applied to the soil "beam". They need to be swapped as in the screenshot below in red.

For consistent units you need to use MPa not GPa so the value of E for concrete (col) and soil (beam) need to be adjusted as below in red.

These two are the reason the result is as shown in your earlier posting

Cheers

Terry

Aug 16, 2021
07:04 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Aug 16, 2021
07:04 AM

😍😍