Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

AN EFFICIENT WAY TO DO THE ASSEMBLY OF GLOBAL STIFFNESS MATRIX

Status
Not open for further replies.

yosimzd2

Mechanical
Aug 17, 2014
3
0
0
IL
Hi all,
I develop a finite element code in java.
I looking for an efficiency algorithm to do the assembly process... i need to assemble the global matrix into sparse vector for using in minimum memory.
someone that develop a finite element code maybe encounter in a memory problem when he allocate the global stiffness matrix? if yes how can i overcome this problem?
thanks in advance:)
 
Replies continue below

Recommended for you

I've used a method that uses an additional 50-100% of the memory of the matrix itself. The matrix is sparse and each finite element is added to it one by one.

You'll need to define the sparsity pattern before using it. You can do that with a initial dummy "assembly" run which just builds a data structure representing where all the non-zeros are. I store this in an array of lists (variable length arrays). Each element in the array is one row, and each element in the list is the column number of a non-zero in that row. This probably wastes a lot of memory because of unused space in the lists so you can use a more efficient jagged array instead.

 
Status
Not open for further replies.
Back
Top