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

Community Tip - Your Friends List is a way to easily have access to the community members that you interact with the most! X

Error Calculating

SPRstructur
15-Moonstone

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

SPRstructur_1-1628761960093.png

 

19 REPLIES 19
LucMeekes
23-Emerald III
(To:SPRstructur)

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

 

  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.
SPRstructur_2-1628765334042.png

 


 


 
 
ttokoro
20-Turquoise
(To:SPRstructur)

 

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. 

 

image.pngimage.pngimage.pngimage.png

SPRstructur
15-Moonstone
(To:ttokoro)

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

 

SPRstructur
15-Moonstone
(To:ttokoro)

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

 

ttokoro
20-Turquoise
(To:SPRstructur)

image.png

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

SPRstructur
15-Moonstone
(To:ttokoro)


@ttokoro wrote:

image.png

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.

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?

 

Capture.JPG

Have not looked at the worksheet yet.

Cheers

Terry


@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?

 

Capture.JPG

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.

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?

Hi SPRstructur,

 

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

 

Cheers

Terry

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

SPRstructur_1-1628857777038.png

 

 

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.

Capture.JPG

Capture2.JPG

Capture3.JPG

Cheers

Terry

 

 

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.

Capture.JPG

Capture2.JPG

Capture3.JPG

Upload you latest file and let me have a look.

Cheers

Terry

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

Capture.JPG 

Two the definition and calculation of KG itself

Capture2.JPG

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

Capture3.JPG

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


@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

Capture.JPG 

Two the definition and calculation of KG itself

Capture2.JPG

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

Capture3.JPG

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

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

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.

Capture.JPG

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.

Capture2.JPG

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

SPRstructur_1-1628857777038.png

Cheers

Terry

 

😍😍

Top Tags