Something about Mass matrix

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
huyuntian
Posts: 10
Joined: Sun Sep 28, 2014 6:41 pm

Something about Mass matrix

Post by huyuntian »

Hi all,
As is known to everybody, we can obtain global stiffness matrix by command PrintA. and for mass matrix, i tried my model under a simple Transient analysis and get the equivalent global matrix. then i can cal mass matrix.

there is one thing i cant understand:

as a 2D problem, no matter how much i assign to the 3rd DOF of each node,the number of each 3rd dof in mass matrix remains 0.0

for example, command :

mass 1 a b c;

will create matrx:

a 0 0
0 b 0
0 0 0

but not

a 0 0
0 b 0
0 0 c

:?: :?: :?:
Jhno
Posts: 214
Joined: Sat May 05, 2012 2:55 pm
Location: Laval

Re: Something about Mass matrix

Post by Jhno »

Hi,
As I understand it, the PrintA isn't the global stiffness either the transformed K or combination of K, C and M (as stated here http://opensees.berkeley.edu/wiki/index ... tA_Command).
You said you did run a Transient Analaysis. I think you should try your analysis under a static one, see here :
" http://opensees.berkeley.edu/community/ ... tA#p105259 "

The idea would be to solve the roots of the eigen value problem. If the eigen command with fullgenLapack solver for 3 first values gives your the same as those you would expect that means the mass matrix is correct (I assume you know the K matrix). I did it for a 2DOF problems (easier to solve a quad equation than a cubic) and it worked out just fine.

Hope it helps.
Good luck :mrgreen:
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Something about Mass matrix

Post by fmk »

your input is obviously garbage. following example assigns mass twice and outputs it 3 different ways (twice using print and the latter using printA using CentralDifference and a dt of 1.0)

model Basic -ndm 2
node 1 0. 0. -mass 1.0 2.0 3.0
print node 1
mass 1 4.0 5.0 6.0
print node 1
node 2 0. 1.
fix 2 1 1 1
geomTransf Linear 1
element elasticBeamColumn 1 1 2 100 100 100 1
integrator CentralDifference
system FullGeneral
analysis Transient
analyze 1 1.0
printA
huyuntian
Posts: 10
Joined: Sun Sep 28, 2014 6:41 pm

Re: Something about Mass matrix

Post by huyuntian »

dear fmk:
i cant find out the specific global system matrix form when use CentralDifference.
why when using your paras, printA will return mass matrix? hope you kindly make some explanation.

i use Newmark method, with no Damping, and printA will return Ke= K+1/(beta*dt**2)*M. if that is right (K is known), i cal M=(Ke-K)*(beta*dt**2).

but under this situation, M matrix only have the each nodes' 1 2 dof mass value, thats what i dont understand.
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Something about Mass matrix

Post by fmk »

i suggest you pick up a copy of Dynamics of Structures by Prof. Chopra and have a read of Section 5.

printA returns the mass matrix when using central difference and a time step of 1.0 because if you look at the theory that is what the matrix is. "Dynamics of Structures", section 5.3: Khat = 1/(dt^2) M + 1/(2*dt) C, i.e. Khat = M.

you are screwing up somewhere:
wipe
model Basic -ndm 2
node 1 0. 0. -mass 4 5 6
node 2 0. 1.
fix 2 1 1 1
geomTransf Linear 1
element elasticBeamColumn 1 1 2 100 100 100 1
integrator LoadControl 1.0
system FullGeneral
analysis Static
analyze 1
printA -file tmp1.out
wipeAnalysis
integrator CentralDifference
system FullGeneral
analysis Transient
analyze 1 1.0
printA -file tmp2.out
integrator Newmark 0.5 0.25
analyze 1 2.0
printA -file tmp3.out

and results:
tmp> cat tmp1.out

120000 0 -60000
0 10000 0
-60000 0 40000

tmp> cat tmp2.out

4 0 0
0 5 0
0 0 6

tmp> cat tmp3.out

120004 0 -60000
0 10005 0
-60000 0 40006
Post Reply