Dear all:
I'm new to OpenSees and thinking about model a rocking rectangular block rocking on the two bottom corner support. Does anybody know how to change the boundary condition according to some real-time conditions (like node displacement is positive or negative) during the analysis. For example, during the block rocking, if the center point has positive displacement (goes to right), I want to fix the right corner in x and y direction to the ground, but if the center point comes back to center line and is gonna go to negative direction, I want to fix the left corner in x and y but free the right corner. Does anyone know how to do that in OpenSees?
Also, I saw in OpenSees manual there's a "nodeDisp" command that can get desired node real-time displacement, but I suppose that displacement is in global coordinate. Does anyone know how to get real-time displacement in local coordinate? I know there should be no problem in single rocking block, but if it is multi-block, like segmental bridge column, I believe the local displacement is desired to decide which corner should be fixed.
I'll appreciate whoever gives me suggestions, thanks a lot.
Song
real time boundary condition update
Moderators: silvia, selimgunay, Moderators
Re: real time boundary condition update
you can add and remove boundary conditions at any point. the only requirement is that the model be stable. you can use the nodeDisp command to determine which constraints
need to be imposed at any given time. if you need to perform calculations on the displacement values returned from nodeDisp, just remember they are returned in a tcl list.
to remove boundary conditions you must use the removeSP command:
remove SP nodeTag? dof?
to add just use the fix command:
NOTE: the fix command are all additative, i.e. revery time you say fix nodeTag 1 1 1 3 sp constraints are added to nodeTag. it is safest to remove all 3 if you are going to use the fix command again on the node.
need to be imposed at any given time. if you need to perform calculations on the displacement values returned from nodeDisp, just remember they are returned in a tcl list.
to remove boundary conditions you must use the removeSP command:
remove SP nodeTag? dof?
to add just use the fix command:
NOTE: the fix command are all additative, i.e. revery time you say fix nodeTag 1 1 1 3 sp constraints are added to nodeTag. it is safest to remove all 3 if you are going to use the fix command again on the node.
-
- Posts: 122
- Joined: Tue Oct 28, 2008 4:01 am
Re: real time boundary condition update
songwang wrote:
> Dear all:
>
> I'm new to OpenSees and thinking about model a rocking rectangular block
> rocking on the two bottom corner support. Does anybody know how to change
> the boundary condition according to some real-time conditions (like node
> displacement is positive or negative) during the analysis. For example,
> during the block rocking, if the center point has positive displacement
> (goes to right), I want to fix the right corner in x and y direction to the
> ground, but if the center point comes back to center line and is gonna go
> to negative direction, I want to fix the left corner in x and y but free
> the right corner. Does anyone know how to do that in OpenSees?
>
> Also, I saw in OpenSees manual there's a "nodeDisp" command that
> can get desired node real-time displacement, but I suppose that
> displacement is in global coordinate. Does anyone know how to get real-time
> displacement in local coordinate? I know there should be no problem in
> single rocking block, but if it is multi-block, like segmental bridge
> column, I believe the local displacement is desired to decide which corner
> should be fixed.
>
> I'll appreciate whoever gives me suggestions, thanks a lot.
>
> Song
Hi Song,
You are trying to model a rocking behavior of a rigid block, what element are you using for your analysis model? Basically with beam column
element there are only one node for each end of the element, and seems uncapable to implement such a rocking effect. Thanks.
> Dear all:
>
> I'm new to OpenSees and thinking about model a rocking rectangular block
> rocking on the two bottom corner support. Does anybody know how to change
> the boundary condition according to some real-time conditions (like node
> displacement is positive or negative) during the analysis. For example,
> during the block rocking, if the center point has positive displacement
> (goes to right), I want to fix the right corner in x and y direction to the
> ground, but if the center point comes back to center line and is gonna go
> to negative direction, I want to fix the left corner in x and y but free
> the right corner. Does anyone know how to do that in OpenSees?
>
> Also, I saw in OpenSees manual there's a "nodeDisp" command that
> can get desired node real-time displacement, but I suppose that
> displacement is in global coordinate. Does anyone know how to get real-time
> displacement in local coordinate? I know there should be no problem in
> single rocking block, but if it is multi-block, like segmental bridge
> column, I believe the local displacement is desired to decide which corner
> should be fixed.
>
> I'll appreciate whoever gives me suggestions, thanks a lot.
>
> Song
Hi Song,
You are trying to model a rocking behavior of a rigid block, what element are you using for your analysis model? Basically with beam column
element there are only one node for each end of the element, and seems uncapable to implement such a rocking effect. Thanks.