performance function
Moderators: silvia, selimgunay, Moderators
-
- Posts: 32
- Joined: Mon Nov 19, 2007 12:47 am
- Location: China
performance function
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.
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
-
- Posts: 32
- Joined: Mon Nov 19, 2007 12:47 am
- Location: China
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.
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
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.
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.
-
- Posts: 32
- Joined: Mon Nov 19, 2007 12:47 am
- Location: China
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.
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
-
- Posts: 32
- Joined: Mon Nov 19, 2007 12:47 am
- Location: China
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
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
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.
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.
-
- Posts: 32
- Joined: Mon Nov 19, 2007 12:47 am
- Location: China
-
- Posts: 32
- Joined: Mon Nov 19, 2007 12:47 am
- Location: China