performance function

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

Moderators: silvia, selimgunay, Moderators

Post Reply
civilmanjun
Posts: 32
Joined: Mon Nov 19, 2007 12:47 am
Location: China

performance function

Post by civilmanjun »

In this reliability analysis truss elements were used, I defined four perfornmace functions as follows:

1 performanceFunction 1 "0.0044+{u_2_2}"
2 performanceFunction 2 "0.0044+{rec_node_disp_2_2}"

3 performanceFunction 3 "671000+{element_1_localForce_1}"
4 performanceFunction 4 "671000+{rec_element_1_localForce_21}"

performanceFunction 1 is right, and it works properly.
but performanceFunction 2 didn't work, I don't known what's wrong.
can you tell me the difference between 1 and 2?

Both performance functions 3 and 4 didn't work, and I don't known the difference between 3 and 4.
my aim is to define axial force in performance function, but I don't know how to define it properly, can you tell me?

thanks a lot.
learn more
civilmanjun
Posts: 32
Joined: Mon Nov 19, 2007 12:47 am
Location: China

Post by civilmanjun »

when execute performance functions 3 and 4, in output window appeared some informations as follow:

Limit-state fnction number:3
ERROR GFunEvaluator--Tcl_ExprDouble returned error in limit state function
SearchWithStepSizeAndStepDirection::doTheActualSearch<>-
could not tokenize limit-state function.
FORMAnalysis::analyze<>-failed while finding the
design point for limit-state function number 3.
Limit-state function number:4
child killed: segmentation violation.
learn more
koduru
Posts: 33
Joined: Tue Jun 06, 2006 11:41 am
Location: U of A

Post by koduru »

Hi,

If you are using the Opensees v. 1.7 and above, the command in performance function 3 would no longer work.

The syntax must always include "rec_element". Therefore, try using performance function 4 by itself. The error in 3 might be effecting the execution of 4.

Also, I noticed that you specify "rec_element_1_localForce_21" in performance function 4. Is "21" a typo?

Please post the error messages for performance function 2. I couldn't see any difference between 1 and 2, and a quick look at source code shows that 2 must work.

It might be helpful if you can post all your reliability commands if the above doesn't work.
civilmanjun
Posts: 32
Joined: Mon Nov 19, 2007 12:47 am
Location: China

Post by civilmanjun »

thanks for you attention, koduru, l really appreciate.

when I run performance 2, the following message occur:
limit-state function number:2
limit-state function value at start point,g=0.00437126
step #0: searchwithstepsizeandstepdirection::doTheActiveSearch<>-
all components of the gradient vector is zero.
FORMAnalysis::analysis<> - failed while finding the
design point for limit-state function number 2.


I made a mistake in performance 4,
I tried several times as follow:

1 performanceFunction 1 "671000+{element_1_localForce_1}"
2 performanceFunction 2 "671000+{rec_element_1_localForce_1}"
3 performanceFunction 3 "671000+{element_1_localForce_2}"
4 performanceFunction 4 "671000+{rec_element_1_localForce_2}"
5 performanceFunction 5 "671000+{element_1_localForce}"
6 performanceFunction 6 "671000+{rec_element_1_localForce}"

And the same message occur in performance 1, 3, and 5 as follows:
Limit-state fnction number:1 (3 , 5)
ERROR GFunEvaluator--Tcl_ExprDouble returned error in limit state function
SearchWithStepSizeAndStepDirection::doTheActualSearch<>-
could not tokenize limit-state function.
FORMAnalysis::analyze<>-failed while finding the
design point for limit-state function number 1 (3 ,5).

And the same message occur in performance 2, 4, and 6 as follows:
Limit-state function number:2
child killed: segmentation violation.
Limit-state function number:4
child killed: segmentation violation.
Limit-state function number:6
child killed: segmentation violation.
learn more
civilmanjun
Posts: 32
Joined: Mon Nov 19, 2007 12:47 am
Location: China

Post by civilmanjun »

this is the original script. please help me.
I don'n know where is wrong.



model basic -ndm 2 -ndf 2
reliability

node 1 0 0
node 2 3 0
node 3 6 0
node 4 1.5 3
node 5 4.5 3


set A 0.00081903
set E 210000000000
set fy 355000000
set p 100000

uniaxialMaterial Steel01 1 $fy $E 0.02

element truss 1 1 2 $A 1
element truss 2 2 3 $A 1
element truss 3 1 4 $A 1
element truss 4 2 4 $A 1
element truss 5 2 5 $A 1
element truss 6 3 5 $A 1
element truss 7 4 5 $A 1

fix 1 1 1
fix 3 1 1


set loadx 0
set loadz 0

# LOADS
pattern Plain 1 Linear {
load 4 0 -1000
load 5 0 -1000
}

recorder Node -file nodeDisp.out -time -node all -dof 1 2 3 disp
recorder Node -file nodereaction.out -time -node all -dof 2 reaction
recorder Element -file ef.out -time -eleRange 1 7 localForce


constraints Plain
numberer RCM
test NormUnbalance 1.0e-6 25 0
integrator LoadControl 0.025 1 0.025 0.025
algorithm Newton
system ProfileSPD
sensitivityIntegrator -static
sensitivityAlgorithm -computeAtEachStep
analysis Static

randomVariablePositioner 1 -createRV3 lognormal $p [expr 0.01*$p] -loadPattern 1 -loadAtNode 4 1
randomVariablePositioner 2 -createRV3 lognormal $p [expr 0.01*$p] -loadPattern 1 -loadAtNode 5 1
randomVariablePositioner 3 -createRV3 lognormal $A [expr 0.05*$A] -element 1 A
randomVariablePositioner 4 -createRV3 lognormal $A [expr 0.05*$A] -element 2 A
randomVariablePositioner 5 -createRV3 lognormal $A [expr 0.05*$A] -element 3 A
randomVariablePositioner 6 -createRV3 lognormal $A [expr 0.05*$A] -element 4 A
randomVariablePositioner 7 -createRV3 lognormal $A [expr 0.05*$A] -element 5 A
randomVariablePositioner 8 -createRV3 lognormal $A [expr 0.05*$A] -element 6 A
randomVariablePositioner 9 -createRV3 lognormal $A [expr 0.05*$A] -element 7 A

performanceFunction 1 "0.0044+{u_2_2}"
performanceFunction 2 "0.0044+{rec_node_disp_2_2}"
performanceFunction 3 "671000+{element_2_localForce_1}"
performanceFunction 4 "671000+{rec_element_2_localForce_1}"


probabilityTransformation Nataf -print 0
reliabilityConvergenceCheck Standard -e1 1.0e-3 -e2 1.0e-3 -print 1
gFunEvaluator OpenSees -file aux_3.tcl
gradGEvaluator OpenSees
searchDirection iHLRF
meritFunctionCheck AdkZhang -multi 2.0 -add 10.0 -factor 0.5
stepSizeRule Armijo -maxNum 50 -base 0.5 -initial 1.0 2 -print 1 -sphere 1000.0 1.0

1.0
startPoint Mean
findDesignPoint StepSearch -maxNumIter 100 -printDesignPointX designPointX.out

runFORMAnalysis Example3a.out
learn more
koduru
Posts: 33
Joined: Tue Jun 06, 2006 11:41 am
Location: U of A

Post by koduru »

Hi civilmanjun,

Regarding performance function with "rec_node_disp_2_2": The problem is not with reading the syntax. The error is due to the calculation of gradients of limit-state function. It could be due to numerical round offs in the code itself.
[Note: u_2_2, and rec_node_disp_2_2 are treated differently in the source code]

I suggest you try a "startPoint" different than mean and see if this performance function results in same problem. The response at the mean must have been very small to give a result, 0.00437126 for performance function at startPoint.


As I mentioned earlier, performance functions with "element_2_localForce_1" no longer work. This is wrong syntax for current OpenSees. Use only "rec_element_2_localForce_1" to specify limit state functions for force.

It is not clear to me if you have you tried "rec_element_2_localForce_1" without using "element_2_localForce_1" in the same file?

If the error occurs when using "rec_element_2_localForce_1" alone, then there must be a bug in the new version of the OpenSees, since the old versions worked fine with this.

I hope this helps.
civilmanjun
Posts: 32
Joined: Mon Nov 19, 2007 12:47 am
Location: China

Post by civilmanjun »

I only defined performance function in opensees version 1.7.4 and 1.7.5 as follows:

performanceFunction 1 "671000+{rec_element_2_localForce_1}"

but still showed:

limit-state function number: 1
child killed: segmentation violation
learn more
koduru
Posts: 33
Joined: Tue Jun 06, 2006 11:41 am
Location: U of A

Post by koduru »

I think it is a bug due to changes in OpenSees. I suggest you email the information in your last message to the OpenSees developers.
civilmanjun
Posts: 32
Joined: Mon Nov 19, 2007 12:47 am
Location: China

Post by civilmanjun »

koduru

thanks for you passion, thanks for you help. I'm so appreciated.
learn more
liwei
Posts: 15
Joined: Sat May 31, 2008 8:26 am

Post by liwei »

Which version maybe work?
Post Reply