       assembly of large matrices

• To: mathgroup at smc.vnet.net
• Subject: [mg53958] assembly of large matrices
• From: "dkl8" <dkl8 at walla.co.il>
• Date: Sat, 5 Feb 2005 03:15:27 -0500 (EST)
• Sender: owner-wri-mathgroup at wolfram.com

```Hello all ,

I wrote a 3D nonlinear finite element program with Mathematica .

To solve the problem I need to create a large stiffness matrix
(say 50,000x50,000) made by the assembly of all the elements stifnesses
( 24x24 stiffness matrix for each element ) .

The assembly takes a long time .

Does anyone have an idea how to reduce the assembly time ?

Thank you , Doron .

Here is my algorithm :

calcKnew7 := Do[

Ktot7 = Ktot7old;(* a large zeros or sparse matrix *)

Do[

Do[dRoofSub[p] = elemVec[[e, 2, p + 1]], {p, 0, 7}];
CalcFunc1;(* calculation of the stiffness keq1 of element e *)
Do[
ith = (nLGlist[[e, 2, m]] - 1)*3 + 1; jth = (nLGlist[[e, 2,
n]] - 1)*3 + 1;
Ktot7[[Range[ith, ith + 2], Range[jth, jth + 2]]] +=
SubMatrix[keq1, {(m - 1)*3 + 1, (n - 1)*3 + 1}, {3, 3}];

, {m, 1, 8}, {n, 1, 8}];(* the assembly *)

, {e, 1, ne}];
];

```

• Prev by Date: Re: Dotted line plot
• Next by Date: Re: Re: New Web Site for Mathematica Users using WikiMedia
• Previous by thread: Re: Mathematica for Summation of Trigonometry expression
• Next by thread: Re: Product {for p=2 to infinity} (p^2+1)/(p^2-1) version=3.0.2