I’m going to do a hybrid test with a substructure using OpenSees and LabView (National Instruments). I have a problem in OpenSees and I wonder if you help me.
In my process, OpenSees is in the client side and LabView acts as server. In OpenSees I’m using a loop to do transient analysis and apply received force (from server) on the given point in each step. I think received loads are not applied properly.
How we can apply a load in each step of a transient analysis?
Would you please look at this part of my code in client side and help me?
while {$t<=$TmaxAnalysis} {
set ok [analyze 1 $DtAnalysis]
set disp1 [nodeDisp 3 1]
set disp3 [nodeDisp 3 3]
#### here I sent the displacement to the server
remove loadPattern $j; # I remove the load pattern on the given point from previous step
#### here OpenSees waits to receive restored force from the server ($FxRestore and $MzRestore)
# Now I should apply the received force on the given point to do the next step of the analysis
pattern Plain $Lpattern Linear {
load 3 [expr -$FxRestore] 4000 [expr $MzRestore];
}
}
Your help is appreciated in advance.
Hybrid test using OpenSees
Moderators: silvia, selimgunay, Moderators
Re: Hybrid test using OpenSees
you have 1 load as positive (MzRestore) and the other negative (FxRestore), is this correct?
Re: Hybrid test using OpenSees
Sorry, that is a mistake here, actually I apply both of them with a negative sign.
while {$t<=$TmaxAnalysis} {
set ok [analyze 1 $DtAnalysis]
set disp1 [nodeDisp 3 1]
set disp3 [nodeDisp 3 3]
#### here I sent the displacement to the server
remove loadPattern $j; # I remove the load pattern on the given point from previous step
#### here OpenSees waits to receive restored force from the server ($FxRestore and $MzRestore)
# Now I should apply the received force on the given point to do the next step of the analysis
pattern Plain $Lpattern Linear {
load 3 [expr -$FxRestore] 4000 [expr -$MzRestore];
}
}
while {$t<=$TmaxAnalysis} {
set ok [analyze 1 $DtAnalysis]
set disp1 [nodeDisp 3 1]
set disp3 [nodeDisp 3 3]
#### here I sent the displacement to the server
remove loadPattern $j; # I remove the load pattern on the given point from previous step
#### here OpenSees waits to receive restored force from the server ($FxRestore and $MzRestore)
# Now I should apply the received force on the given point to do the next step of the analysis
pattern Plain $Lpattern Linear {
load 3 [expr -$FxRestore] 4000 [expr -$MzRestore];
}
}