the difference between the dispbeamcolumn and nonlinearbeamc

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

Moderators: silvia, selimgunay, Moderators

baozai
Posts: 212
Joined: Tue Jan 04, 2011 3:39 am
Location: Southeast University

the difference between the dispbeamcolumn and nonlinearbeamc

Post by baozai »

Hello. I want to ask a question about the deifference between the dispbeamcolumn and the noninearbeamcolumn element. when I did a dynamic analysis, the noninearbeamcolumn couldn't converge but the dispbeamcolumn could converge. but the result of them weren't the same, so I want to ask which one is recommended in the dynamic analysis?

Thank you for your help.
Baozai
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: the difference between the dispbeamcolumn and nonlinearb

Post by vesna »

You can use both elements in dynamic analysis but not in the same way.

This paper may help you to better understand these two elements:
Neuenhofer, Ansgar, FC Filippou. Evaluation of Nonlinear Frame Finite-Element Models. ASCE Journal of Structural Engineering, Vol. 123, No. 7, July, 1997. ISSN 0733-9445/97/0007-0958-0966. Paper No. 14157. pp. 958-966.
baozai
Posts: 212
Joined: Tue Jan 04, 2011 3:39 am
Location: Southeast University

Re: the difference between the dispbeamcolumn and nonlinearb

Post by baozai »

vesna wrote:
> You can use both elements in dynamic analysis but not in the same way.
>
> This paper may help you to better understand these two elements:
> Neuenhofer, Ansgar, FC Filippou. Evaluation of Nonlinear Frame
> Finite-Element Models. ASCE Journal of Structural Engineering, Vol. 123,
> No. 7, July, 1997. ISSN 0733-9445/97/0007-0958-0966. Paper No. 14157. pp.
> 958-966.


Thank you vesna. I downloaded the paper and it seemed that the element based on the flexibility method is better.
but in my dynamic analysis, if I used the nonlinearbeamcolumn element, it couldn't converge. if I used the dispbeamcolumn element, it could converge. but the parameters I used in both of the two simulation were the same.
I want to know that is the convergence of the nonlinearbeamcolumn element as well as the dispbeamcolumn element? could you give me some advices on solving this problem?

Thank you again.
Baozai
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: the difference between the dispbeamcolumn and nonlinearb

Post by vesna »

Yes, force-based beam-column element can have convergence problems but that can be solved. What is the error message that you get?
baozai
Posts: 212
Joined: Tue Jan 04, 2011 3:39 am
Location: Southeast University

Re: the difference between the dispbeamcolumn and nonlinearb

Post by baozai »

vesna wrote:
> Yes, force-based beam-column element can have convergence problems but that
> can be solved. What is the error message that you get?

thank you vesna. at first, the OS could went on if I amplified the tolerance. the message was about the follow:

WARNING: CTestEnergyIncr::test() - failed to converge
after: 20 iterations
ModifiedNewton::solveCurrentStep() -the ConvergenceTest object failed in test()
DirectIntegrationAnalysis::analyze() - the Algorithm failed at time 2.44012
OpenSees > analyze failed, returned: -3 error flag

WARNING: CTestEnergyIncr::test() - failed to converge
after: 200 iterations
ModifiedNewton::solveCurrentStep() -the ConvergenceTest object failed in test()
DirectIntegrationAnalysis::analyze() - the Algorithm failed at time 0.8235
OpenSees > analyze failed, returned: -3 error flag

then the amplification couldn't help with the solution and the message was about the follow:

OpenSees > analyze failed, returned: -2 error flag
WARNING - ForceBeamColumn2d::update - failed to get compatible element forces & deformations for element: 2016(dW: << 361.859)
Domain::update - domain failed in update
Newmark::newStep() - failed to update the domain
DirectIntegrationAnalysis::analyze() - the Integrator failed at time 0.003375
OpenSees > analyze failed, returned: -2 error flag

Thank you again for your help.
Baozai
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: the difference between the dispbeamcolumn and nonlinearb

Post by vesna »

The first two messages indicate the inability of chosen analysis objects to handle the problem. Convergence loop where you change analysis objects during the analysis process is very useful. Do you have one in your model? Also, if your algorithm is ModifiedNewton you may need 1000 or even more iterations to converge.

Increase of tolerance is not a way to deal with convergence problems.

The last message in your model means that there is a problem with element 2016. It usually means the sections are trashed and the flexibility based element just cannot figure out forces that agree with end deformations. You can do one of the things:
1) try the -iter option on the element
2) tweak the section properties
3) reduce number of integration points.
baozai
Posts: 212
Joined: Tue Jan 04, 2011 3:39 am
Location: Southeast University

Re: the difference between the dispbeamcolumn and nonlinearb

Post by baozai »

vesna wrote:
> The first two messages indicate the inability of chosen analysis objects to
> handle the problem. Convergence loop where you change analysis objects
> during the analysis process is very useful. Do you have one in your model?
> Also, if your algorithm is ModifiedNewton you may need 1000 or even more
> iterations to converge.
>
> Increase of tolerance is not a way to deal with convergence problems.
>
> The last message in your model means that there is a problem with element
> 2016. It usually means the sections are trashed and the flexibility based
> element just cannot figure out forces that agree with end deformations. You
> can do one of the things:
> 1) try the -iter option on the element
> 2) tweak the section properties
> 3) reduce number of integration points.

vesna, thank you. I had the changes of the algorithm in my text but there wasn't any other changes about other analysis objects and I didn't know how to select the analysis object such as the system, test and number properly, how to recognize the difference among the different options?

element 2016 was a part of a column in my model. could you explain the first two of your suggestions or recommand some relerative papers about them?
what is the -iter option?
tweak the section properties refer to what? does tweak means improve or change? I'm sorry for my poor english. in my opinion, section properties were about the dimensions and the materials of the section, but if the section was determined( for the OS-model was established based on the real model of a shaking table test), the properties of the sections were determined too, how can I tweak them?
for the hoops in the column are different, I divided the column into 3 sections to simulate the stirrup densification, will the decrement of the integration points influence the numericial result?

thank you for your patience and help, it's very appreciate to you.
Baozai
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: the difference between the dispbeamcolumn and nonlinearb

Post by vesna »

Can you post your code so I can see what you are exactly doing. Then it is going to be easier for me to comment on your model.

With -iter option you can specify maximum number of iterations to be undertaken to satisfy element compatibility.
tweak means to fine-tune it. what I meant when I sad "to tweak the section properties" is to try to change number of fibers and see if you are going to see better results.

I am not sure I understand you last question: "will the decrement of the integration points influence the numericial result?" Can you explain it better?
baozai
Posts: 212
Joined: Tue Jan 04, 2011 3:39 am
Location: Southeast University

Re: the difference between the dispbeamcolumn and nonlinearb

Post by baozai »

vesna wrote:
> Can you post your code so I can see what you are exactly doing. Then it is
> going to be easier for me to comment on your model.
>
> With -iter option you can specify maximum number of iterations to be
> undertaken to satisfy element compatibility.
> tweak means to fine-tune it. what I meant when I sad "to tweak the
> section properties" is to try to change number of fibers and see if
> you are going to see better results.
>
> I am not sure I understand you last question: "will the decrement of
> the integration points influence the numericial result?" Can you
> explain it better?

vesna, sorry for my delay reply.
first, my last question means that if I change the number of the integration points from 5 to 3 for example, will it influence the numerical presicion? or the presicion of the numerical result at the integration point won't be influenced, the only error introduced was from the linear insertion between the integration points?

my code is about a 3 story-3 span-1 bay prestressed concrete frame structure, there isn't the rigiddiagram assumption. I used the truss element to simulated the prestress steel. the code was like as follows:

all the commands I used to define the beam and column elements were like the following format:

element nonlinearBeamColumn 2000 0 50 $np $ColSecTag11m $IDColTransf

the commands I used to input the Gravity were:

set Tol 1.0e-8; # convergence tolerance for test
variable constraintsTypeGravity Penalty; # default;
constraints $constraintsTypeGravity 1.0e12 1.0e12; # how it handles boundary conditions
numberer RCM; # renumber dof's to minimize band-width (optimization), if you want to
system BandGeneral ; # how to store and solve the system of equations in the analysis (large model: try UmfPack)
test NormDispIncr $Tol 6 ; # determine if convergence has been achieved at the end of an iteration step
algorithm NewtonLineSearch .8; # use Newton's solution algorithm: updates tangent stiffness at every iteration
set NstepGravity 5; # apply gravity in 10 steps
set DGravity [expr 1./$NstepGravity]; # first load increment;
integrator LoadControl $DGravity; # determine the next time step for an analysis
analysis Static; # define type of analysis static or transient
analyze $NstepGravity; # apply gravity


and here are the commands I used to do the dynamic analysis:

variable constraintsTypeDynamic Transformation;
constraints $constraintsTypeDynamic;
variable numbererTypeDynamic RCM
numberer $numbererTypeDynamic
variable systemTypeDynamic BandGeneral; # try UmfPack for large problems
system $systemTypeDynamic
variable TolDynamic 1.e-6; # Convergence Test: tolerance
variable maxNumIterDynamic 20; # Convergence Test: maximum number of iterations that will be performed before "failure to converge" is returned
variable printFlagDynamic 1; # Convergence Test: flag used to print information on convergence (optional) # 1: print information on each step;
variable testTypeDynamic EnergyIncr; # Convergence-test type
test $testTypeDynamic $TolDynamic $maxNumIterDynamic $printFlagDynamic;
variable maxNumIterConvergeDynamic 2000;
variable printFlagConvergeDynamic 1;
variable algorithmTypeDynamic ModifiedNewton
algorithm $algorithmTypeDynamic;
variable NewmarkGamma 0.5; # Newmark-integrator gamma parameter (also HHT)
variable NewmarkBeta 0.25; # Newmark-integrator beta parameter
variable integratorTypeDynamic Newmark;
integrator $integratorTypeDynamic $NewmarkGamma $NewmarkBeta
variable analysisTypeDynamic Transient
analysis $analysisTypeDynamic
set xDamp 0.03; # damping ratio
set MpropSwitch 1.0;
set KcurrSwitch 0.0;
set KcommSwitch 1.0;
set KinitSwitch 0.0;
set nEigenI 1; # mode 1
set nEigenJ 2; # mode 3
set lambdaN [eigen [expr $nEigenJ ]]; # eigenvalue analysis for nEigenJ modes
set lambdaI [lindex $lambdaN [expr $nEigenI-1]]; # eigenvalue mode i
set lambdaJ [lindex $lambdaN [expr $nEigenJ-1]]; # eigenvalue mode j
set omegaI [expr pow($lambdaI,0.5)];
set omegaJ [expr pow($lambdaJ,0.5)];
set alphaM [expr $MpropSwitch*$xDamp*(2*$omegaI*$omegaJ)/($omegaI+$omegaJ)]; # M-prop. damping; D = alphaM*M
set betaKcurr [expr $KcurrSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # current-K; +beatKcurr*KCurrent
set betaKcomm [expr $KcommSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # last-committed K; +betaKcomm*KlastCommitt
set betaKinit [expr $KinitSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # initial-K; +beatKinit*Kini
rayleigh $alphaM $betaKcurr $betaKinit $betaKcomm;


pattern UniformExcitation $IDloadTag $GMdirection -accel $AccelSeries ;# do the uniformexcitation,
set ok [analyze $Nsteps $DtAnalysis];
if {$ok != 0} { ; # analysis was not successful.
# --------------------------------------------------------------------------------------------------
# change some analysis parameters to achieve convergence
# performance is slower inside this loop
# Time-controlled analysis
set ok 0;
set controlTime [getTime];
while {$controlTime < $TmaxAnalysis && $ok == 0} {
set controlTime [getTime]
set ok [analyze 1 $DtAnalysis]
if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test NormDispIncr $Tol 4000 1
algorithm Newton -initial
set ok [analyze 1 $DtAnalysis]
test $testTypeDynamic $TolDynamic $maxNumIterDynamic 1
algorithm $algorithmTypeDynamic
}
if {$ok != 0} {
puts "Trying Broyden .."
algorithm Broyden 8
set ok [analyze 1 $DtAnalysis]
algorithm $algorithmTypeDynamic
}
if {$ok != 0} {
puts "Trying NewtonWithLineSearch .."
algorithm NewtonLineSearch .8
set ok [analyze 1 $DtAnalysis]
algorithm $algorithmTypeDynamic
}
}
}; # end if ok !0


the commands above are the core commands about my analysis, some of the commands about the defination of the parameters like IDloadTag were deleted by me for the codes are too long to read. and in your former reply, you said that when I used the modified Newton method, the number of the iterations should at least 1000, but in the calculation, I found that the numerical result keep the same after about 100 times' iteration, and the determation of the number of iterations at 1000 may posses a lot of time, I don't know whether I am right and just want to consult you about it.

If I change the number of fibers of the section, should I mesh it into more fibers or fewer fibers to get a better result? I means which is better for the convergence?

thank you for your help again.
Baozai
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: the difference between the dispbeamcolumn and nonlinearb

Post by vesna »

The best way to figure out what is wrong with your model would be to create a very simple model (portal frame - one storey, one bay) and to test your elements, sections, materials and analysis objects on that one. Once you pass this stage you can extend the model to 3-storey, 3-bay frame.

yes, precision is function of the # of integration points. I would go with 5 integration points. 3 points seam two few to me.

I would not use modified Newton as a basic algorithm as it slows down analysis due to a big # of iterations to achieve the convergence. Newton is much better as it needs up to 10 iterations to converge. If during the analysis you have a problem with convergence you can switch to modified Newton.

About the number of fibers I would suggest you to look at this report: http://peer.berkeley.edu/publications/p ... erhard.pdf. It shows how different number and configuration of fibers influence the response of an element.
baozai
Posts: 212
Joined: Tue Jan 04, 2011 3:39 am
Location: Southeast University

Re: the difference between the dispbeamcolumn and nonlinearb

Post by baozai »

thank you, vensa, I'll try as you said.

do you mean that I could establish a simple model and to adjust the sections, materials and the analysis objects to make the model converge and then use the parameters to the more complex model? In my opinion, the material maybe couldn't modified for it was got by the experiment. and is there some references about the use or selection of the system, test and number commands?

thank you for help again. oh, by the way, will come to Tongji University in China to give the lecture some days later?
Baozai
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: the difference between the dispbeamcolumn and nonlinearb

Post by vesna »

yes, that is what i meant. if your material is calibrated based on experimental results there is no need to modify it.

i do not know of a reference for selection of the system and numberer command. in dynamics of structures book from Prof. Chopra you can find something about the test. Numerer and system can not create convergence problems. they can only speed up or slow down the analysis. By testing them you can figure out which one is best for your model.

No, I am not coming to Tongji, but Frank is going to be there so you can meet him.
baozai
Posts: 212
Joined: Tue Jan 04, 2011 3:39 am
Location: Southeast University

Re: the difference between the dispbeamcolumn and nonlinearb

Post by baozai »

vesna wrote:
> yes, that is what i meant. if your material is calibrated based on
> experimental results there is no need to modify it.
>
> i do not know of a reference for selection of the system and numberer
> command. in dynamics of structures book from Prof. Chopra you can find
> something about the test. Numerer and system can not create convergence
> problems. they can only speed up or slow down the analysis. By testing them
> you can figure out which one is best for your model.
>
> No, I am not coming to Tongji, but Frank is going to be there so you can
> meet him.


it means that the section, materials, test , algorithm are more important in the problem about the convergence compared to other commands.
thank you for your introduction and help.
Baozai
baozai
Posts: 212
Joined: Tue Jan 04, 2011 3:39 am
Location: Southeast University

Re: the difference between the dispbeamcolumn and nonlinearb

Post by baozai »

vesna wrote:
> yes, that is what i meant. if your material is calibrated based on
> experimental results there is no need to modify it.
>
> i do not know of a reference for selection of the system and numberer
> command. in dynamics of structures book from Prof. Chopra you can find
> something about the test. Numerer and system can not create convergence
> problems. they can only speed up or slow down the analysis. By testing them
> you can figure out which one is best for your model.
>
> No, I am not coming to Tongji, but Frank is going to be there so you can
> meet him.


vensa, thank you very much for your introductions and suggestions, I met Frank in tongji university, but I couldn't follow him for my poor English. I've solved the problem about the convergence. Thank you for your help again.
Baozai
baozai
Posts: 212
Joined: Tue Jan 04, 2011 3:39 am
Location: Southeast University

Re: the difference between the dispbeamcolumn and nonlinearb

Post by baozai »

vesna, I have another problem. when I used the command:

section ElasticMembranePlateSection $shell $Ec $nu $thick $density,

Could I define the density 0, and use the "mass--mass $nodeTag (ndf $MassValues)" command to input the mass to the node instead in the analysis?

and when I used the modified Newton method, the result keep constant, such as the follows:

CTestNormDispIncr::test() - iteration: 1330 current Norm: 0.0652704 (max: 1e-006, Norm deltaR: 56117.6)
CTestNormDispIncr::test() - iteration: 1331 current Norm: 0.0652704 (max: 1e-006, Norm deltaR: 56519.2)
CTestNormDispIncr::test() - iteration: 1332 current Norm: 0.0652704 (max: 1e-006, Norm deltaR: 57386.8)
CTestNormDispIncr::test() - iteration: 1333 current Norm: 0.0652704 (max: 1e-006, Norm deltaR: 57067.5)

that's why?
Baozai
Post Reply