Does OpenSees solve least square problem?

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

Moderators: silvia, selimgunay, Moderators

Post Reply
MikeITExpert
Posts: 24
Joined: Sat Aug 21, 2021 9:19 pm

Does OpenSees solve least square problem?

Post by MikeITExpert »

Dear Experts,

I am helping a civil engineer solving a structure gravity and pushover analysis load. However, I noticed that when the number of diagonal elastic elements (going to be replaced by viscus dampers later in dynamic seismic analysis) is increased, there is lower chance of convergence. I have tried Krylov Newton and Raphson Newton both.

I am curious whether OpenSees solve the least square problem ? How element constraints are taken into consideration by OpenSee?

Please let me know your valuable comments. Feel free to point me to some documents / software specs.

Regards,
mhscott
Posts: 880
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: Does OpenSees solve least square problem?

Post by mhscott »

You are probably running into convergence issues with the elastic diagonals. Large forces for small changes in displacement? It's really impossible to know exactly based on your description.

Here is information on constraints: https://portwooddigital.com/2020/06/05/ ... with-care/

It's always direct solution (N equations, N unknowns), no least squares.
MikeITExpert
Posts: 24
Joined: Sat Aug 21, 2021 9:19 pm

Re: Does OpenSees solve least square problem?

Post by MikeITExpert »

That is correct!

Thanks for the link.
MikeITExpert
Posts: 24
Joined: Sat Aug 21, 2021 9:19 pm

Re: Does OpenSees solve least square problem?

Post by MikeITExpert »

Hi Scott,

I was able to find the issue and you were exactly right. I had couple of elements with very stiff elastic martials as listed below:

uniaxialMaterial Elastic 40 1.0e15
uniaxialMaterial Elastic 3001 [expr 1.0e15]

I know that there are different types of problem formation depending on type of the integrator we are using. In the model I am dealing with there are using "integrator LoadControl" command (one for gravity analysis and the other for pushover analysis [very weird they are using LoadControl as opposed to integrator DisplacementControl ] ) which I believe uses "Direct Stiffness Method" (please let me if I am wrong, cuz I am coming from OOP C/C++ programming background with a little bit of numerical analysis background and linear algebra. not very good at matrix algebra).I know matrix inverses can't be calculated when there are very large values in them.

I guess what I need to know are

1) The problem formulation given LoadControl is used as integrator. (I believe it is Direct stiffness method, please let me know)
2) What matrixes are inversed during analysis iterations? (I probably would be able to figure that out given the problem formulation.)
3) What elements, nodes and constraints need to change to resolve any analysis issue? (IOW, how cells of the matrix related to model parameters such as element materials, which again I should be able to find out if I know the problem formulation when using a integrator LoadControl.)

I think all I need at this point is the problem formulation when using integrator LoadControl and OpenSees print statements to get matrices.

Please let me know your valuable comments.

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

Re: Does OpenSees solve least square problem?

Post by fmk »

1. it is the basic stiffness method.
2. the standard K matrix (assuming you are not trying to use the penalty method to enforce constraints)
3. those large values are there I presume to get some rigid constraint enforced. In reality the terms only need to be a few orders of mag larger than
the coefficients in the stiffness matrix from other elements. You can either quickly calculate what these terms are or start small and increase the values until you are comfortable that the constraint you want is being reasonably enforced.

another option is just to, if possible, add an MP_Contraint to replace the constraint you are trying to enforce numerically. This way, assuming you are not using the Penalty method to enforce the constraints, no large numbers are needed in the tangent and the size of the tangent matrix is also reduced (which typically increases solving times)
Post Reply