changing derived-class function prototype

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

Moderators: silvia, selimgunay, Moderators

Post Reply
cenk tort
Posts: 21
Joined: Mon Aug 16, 2004 11:30 am
Location: miteng
Contact:

changing derived-class function prototype

Post by cenk tort » Sun Nov 28, 2004 9:29 pm

Hello ,
I trying to write a coordinate tranformation function for my beam-column element. I need to access to some parts of the element stiffness matrix in function getBasicIncrDisp(). I tried to define a function getBasicIncrDisp(const Matrix &SS, const Matrix &SR) in my derived class but it did not work since it is not compatible to the function protoype of getBasicIncrDisp() in CrdTransf.h. Does anybody have an idea how can I make this working without changing my derived-class funtion protype ?
Thanks.
Cenk
Cenk Tort
Department of Civil Engineering
University of Minnesota

fmk
Site Admin
Posts: 5883
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Post by fmk » Tue Nov 30, 2004 12:23 pm

don't know how .. why do you need the basic stiffness in getBasicIncrDisp()? .. if you do
need it and this may happen again we might need to change our interface.

cenk tort
Posts: 21
Joined: Mon Aug 16, 2004 11:30 am
Location: miteng
Contact:

changing derived-class function prototype

Post by cenk tort » Tue Nov 30, 2004 2:53 pm

Hello Frank,
thanks for your response. I need to have stiffness matrix in my coordinate becuse I am using a second order polynomial for my axial degrees of freedom in the basic system which creates additional degrees of freedom at the midlength of my element. When I transform my natural(basic) stiffness matrix into local coordinate, I am condensing those degrees of freedom since I do not need them in the golbal system. However, when I am transforming my local displacements into my natural coordinates, I need to back calculate those degrees of freedom by undoing the condensation which requires the basic stiffness matrix.

I do also need to change prototype for the function getInitialGlobalStiffMatrix(const Matrix &KB). In that case, I need to access to the internal forces in the basic system to account for geomertic nonlinear effects (external stiffness) in transforming basic stiffness matrix to the local system.


Do you have any recommendatoon if I need to have new function protoype ?

thanks .
cenk
Cenk Tort
Department of Civil Engineering
University of Minnesota

fmk
Site Admin
Posts: 5883
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Post by fmk » Tue Nov 30, 2004 4:02 pm

why are you doing the condensation .. you should just leave it as a 3 noded element .. people leave the 27 noded brick and 9 noded quad as is w/o any condensation .. when you get to transient analysis you are not gonna get what you expect if you do the static condensation .. (A+B)^-1 != A^-1 + B^-1

cenk tort
Posts: 21
Joined: Mon Aug 16, 2004 11:30 am
Location: miteng
Contact:

changing derived-class function prototype

Post by cenk tort » Mon Dec 06, 2004 10:38 am

Hello Frank,

I never do transient analysis with my element before. So I am not sure about the consequences of static condensation in transient analysis. can you tell me what you mean with (A+B)^-1 != A^-1 + B^-1 ?

Thanks.
Cenk Tort
Department of Civil Engineering
University of Minnesota

fmk
Site Admin
Posts: 5883
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Post by fmk » Mon Dec 06, 2004 1:31 pm

has to do with the element's contribution to tangent matrix in transient .. say ele contribution
is aK + bM .. if doing static condensation what we want added:
(aK+bM)ee - (aK+bM)ei*(aK+bM)ii^-1*(aK+bM)ie

because we would add K and M independently and therefore have to do static condensation twice we would get:
a(Kee+KeiKii^-1Kie) + b(Mee+MeiMii^-1Mie)

which is not the same for the reason of my last post!

cenk tort
Posts: 21
Joined: Mon Aug 16, 2004 11:30 am
Location: miteng
Contact:

changing derived-class function prototype

Post by cenk tort » Mon Dec 06, 2004 8:14 pm

Hello Frank,

Thanks for your comment. I wonder whether this problem still holds if I do not use a consistent stiffness matrix. I am planning to assemble the mass matrix from live loads and dead loads assigned to joint degrees of freedom.

Thanks again.
Cenk Tort
Department of Civil Engineering
University of Minnesota

fmk
Site Admin
Posts: 5883
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Post by fmk » Tue Dec 07, 2004 12:51 pm

it doesn't matter wheteher M is diagonal or not.

(A+B)^-1 != A^-1 + B^-1 even if A and B are diagonal, e.g. 1X1 case A = 2, B=2, 1/4 != 1/2 + 1/2

cenk tort
Posts: 21
Joined: Mon Aug 16, 2004 11:30 am
Location: miteng
Contact:

changing derived-class function prototype

Post by cenk tort » Wed Dec 15, 2004 9:11 am

Hello Frank,

Thanks a lot for your helpful comments. I think if I do not associte any mass with my middle degrees of freedom, static condensation does not create a problem in dynamic analysis. I am using those degree of freedoms only to improve my stiffness formulation. In that case

(aK + bM)^-1 = aK^-1 + bM^-1 if (Mei, Mii, Mie are zero )

Regarding my question on how to access the stiffness matrix in coordinate transformation functions, now I am doing my coordinate transformation inside the element interface.

Thanks.
Cenk
Cenk Tort
Department of Civil Engineering
University of Minnesota

Post Reply