Community Tip - Visit the PTCooler (the community lounge) to get to know your fellow community members and check out some of Dale's Friday Humor posts! X
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
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
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.
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
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
i is a key index. If reduce the i from 1 to 1000 to 1,6..1000, memory error does not occur.
@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.
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
@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.
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
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
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
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
@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
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.
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
😍😍