Problem with Rigid Link formulation?

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

Moderators: silvia, selimgunay, Moderators

Post Reply
ospinag
Posts: 23
Joined: Fri Jul 30, 2010 7:51 am
Location: University of South Carolina

Problem with Rigid Link formulation?

Post by ospinag »

Hi there.
I'm trying to create a model which includes rigid links, but I'm constantly having the error:

ProfileSPDLinDirectSolver::solve() - aii < 0 (i, aii): (2, 0)
WARNING NewtonRaphson::solveCurrentStep() -the LinearSysOfEqn failed in solve()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at load factor 1
OpenSees > analyze failed, returned: -3 error flag

The following code is a simple example that includes one rigid link, and I keep receiving that same error. I'd think there are some troubles with the rigid link formulation, or maybe I don't have what I need to run the code properly. Can you please take a look at this? Thanks!

## simple rigid link example ##
wipe

##### MODEL DEFINITION #####
set numdof 6;
model basic -ndm 3 -ndf $numdof

##### NODE DEFINITION #####
set numNode 5;
node 1 0 0 0;
node 2 0 0 3;
node 3 -2 0 0;
node 4 -2 0 3;
node 5 -1 0 3;

##### BOUNDARY CONDITIONS DEFINITION #####
fix 1 1 1 1 1 1 1;
fix 3 1 1 1 1 1 1;
fix 5 0 1 1 1 0 1;

##### RIGID LINKS DEFINITION #####
# rigidLink beam 5 2;
# rigidLink beam 5 4;
rigidLink bar 5 2;
rigidLink bar 5 4;


##### BEAM ELEMENTS DEFINITION #####
set A 0;
set E 2e+011;
set G 7.69231e+010;
set Iyy 0.00045;
set Izz 0.0002;
set J 0;
geomTransf Linear 1 0 1 0
element elasticBeamColumn 1 1 2 $A $E $G $J $Iyy $Izz 1
element elasticBeamColumn 2 3 4 $A $E $G $J $Iyy $Izz 1

##### SET RECORDER #####
recorder Node -file node2out.out -time -node 2 -dof 1 3 disp

##### STATIC LOAD DEFINITION #####
timeSeries Constant 1
pattern Plain 1 1 {
load 2 -1000.000000 0.000000 0.000000 0.000000 0.000000 0.000000
}

integrator LoadControl 1.0
test EnergyIncr 1.0e-3 10 0

algorithm Newton
# algorithm NewtonLineSearch
# algorithm ModifiedNewton

# numberer Plain
numberer RCM

constraints Plain
# constraints Lagrange

system ProfileSPD
# system SparseSYM

analysis Static
analyze 1

## end of example ##
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Problem with Rigid Link formulation?

Post by vesna »

Rigid links are only MP_constraint objects. They are not elements. In your model you do not have enough elements. Instead of having element that goes from 3 to 4 you need two elements: one that goes from 3 to 5 and another from 5 to 4. You also need an element to connect two columns.

You can not use Plain constraint when having MP-constraints in your model. If using Lagrange ensure that the system IS NOT symmetric positive definite.

Your system is completely defined in 2D. Why do you model it in 3D?
ospinag
Posts: 23
Joined: Fri Jul 30, 2010 7:51 am
Location: University of South Carolina

Re: Problem with Rigid Link formulation?

Post by ospinag »

vesna wrote:
> Rigid links are only MP_constraint objects. They are not elements. In your
> model you do not have enough elements. Instead of having element that goes
> from 3 to 4 you need two elements: one that goes from 3 to 5 and another
> from 5 to 4. You also need an element to connect two columns.
>
> You can not use Plain constraint when having MP-constraints in your model.
> If using Lagrange ensure that the system IS NOT symmetric positive
> definite.
>
> Your system is completely defined in 2D. Why do you model it in 3D?

Hi vesna, thanks for the quick reply.
1. Rigid links should constrain the motion of one node to another node, right? So why should I connect this nodes with an element?
2. Yes, the model is defined 3D, but with the appropriate constraining, it should work as 2D with no problem, right?
3. What do you mean with NOT positive definite? I thought that a structure correctly restrained is always positive definite.

Here is a slightly modified version of the code, and still is not working. Any idea why?
Thanks again!

## simple rigid link example ##
wipe

##### MODEL DEFINITION #####
set numdof 6;
model basic -ndm 3 -ndf $numdof

##### NODE DEFINITION #####
set numNode 4;
node 1 0 0 0;
node 2 0 0 3;
node 3 -2 0 0;
node 4 -2 0 3;

##### BOUNDARY CONDITIONS DEFINITION #####
fix 1 1 1 1 1 1 1;
fix 2 0 1 1 1 0 1;
fix 3 1 1 1 1 1 1;
fix 4 0 1 1 1 0 1;


##### RIGID LINKS DEFINITION #####
rigidLink bar 4 2;

##### BEAM ELEMENTS DEFINITION #####
set A 0;
set E 2e+011;
set G 7.69231e+010;
set Iyy 0.00045;
set Izz 0.0002;
set J 0;
geomTransf Linear 1 0 0 1
element elasticBeamColumn 1 1 2 $A $E $G $J $Iyy $Izz 1
element elasticBeamColumn 2 3 4 $A $E $G $J $Iyy $Izz 1

##### SET RECORDER #####
recorder Node -file node2out.out -time -node 2 -dof 1 3 disp

##### STATIC LOAD DEFINITION #####
timeSeries Constant 1
pattern Plain 1 1 {
load 2 -1000.000000 0.000000 0.000000 0.000000 0.000000 0.000000
}

integrator LoadControl 1.0
test EnergyIncr 1.0e-3 10 0
algorithm Newton
numberer Plain
constraints Lagrange
system ProfileSPD
analysis Static

analyze 1

## end of code ##
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Problem with Rigid Link formulation?

Post by vesna »

1. If you do not have enough constrains in your model (like it was in your previous case) you need to add the element/elements to make it stable. In your new example you had enough constrains such that your model is stable even without a rigid link. Thus, by adding a rigid link you are imposing additional constraint to your system which are now easy to handle.
2. Yes, the 3D model will work in 2D, but I was wandering why are you making it more complex than you need to.
3. When you use Lagrange handler the system of equation to be solved is not symmetric positive definitive. It has zeros on diagonal. Read about Lagrange handler and you will understand what I am talking about.

You had few errors in your model:
1. Your transformation was not good
2. Your constraint and solver can not go together

I made few changes and it works now:


wipe

##### MODEL DEFINITION #####
set numdof 6;
model basic -ndm 3 -ndf $numdof

##### NODE DEFINITION #####
set numNode 4;
node 1 0 0 0;
node 2 0 0 3;
node 3 -2 0 0;
node 4 -2 0 3;

##### BOUNDARY CONDITIONS DEFINITION #####
fix 1 1 1 1 1 1 1;
fix 2 0 1 1 1 0 1;
fix 3 1 1 1 1 1 1;
fix 4 0 1 1 1 0 1;


##### RIGID LINKS DEFINITION #####
rigidLink bar 4 2;

##### BEAM ELEMENTS DEFINITION #####
set A 0.0;
set E 2e+011;
set G 7.69231e+010;
set Iyy 0.00045;
set Izz 0.0002;
set J 0.0;
geomTransf Linear 1 -1 0 0
element elasticBeamColumn 1 1 2 $A $E $G $J $Iyy $Izz 1
element elasticBeamColumn 2 3 4 $A $E $G $J $Iyy $Izz 1


##### SET RECORDER #####
#recorder Node -file node2out.out -time -node 2 -dof 1 3 disp

##### STATIC LOAD DEFINITION #####
timeSeries Constant 1
pattern Plain 1 1 {
load 2 -1000.000000 0.000000 0.000000 0.000000 0.000000 0.000000
}

integrator LoadControl 1.0
test EnergyIncr 1.0e-3 10 0
algorithm Newton
numberer Plain
#constraints Lagrange
constraints Transformation
#system ProfileSPD
system BandGeneral
analysis Static

analyze 1

print -node 2 4
ospinag
Posts: 23
Joined: Fri Jul 30, 2010 7:51 am
Location: University of South Carolina

Re: Problem with Rigid Link formulation?

Post by ospinag »

The problem seems to be in the definition of the geometric transformation. Thanks again!
Post Reply